Topik ini menjelaskan cara menggunakan CLI untuk terhubung ke Presto dan menanyakan data menggunakan Presto.
Prasyarat
Kluster E-MapReduce (EMR) versi V3.45.0, V5.11.0, atau versi minor lebih baru dari V3.45.0 atau V5.11.0 dengan layanan Presto telah dibuat. Untuk informasi lebih lanjut, lihat Buat kluster.
Kluster umum
Jika Anda tidak mengaktifkan Kerberos Authentication saat membuat kluster, kluster tersebut adalah kluster umum.
Masuk ke kluster yang diinginkan dalam mode SSH. Untuk informasi lebih lanjut, lihat Masuk ke kluster.
Jalankan perintah berikut untuk membuka CLI Presto:
presto --server master-1-1:8889Eksekusi pernyataan berikut untuk melihat data tabel:
select * from <catalog>.<schema>.<table>;Parameter dalam pernyataan di atas:
<catalog>: Menentukan nama sumber data yang ingin Anda hubungkan.Anda dapat menjalankan perintah
show catalogs;untuk melihat semua katalog. Anda juga dapat melihat semua katalog pada tab Configure halaman layanan Presto di konsol EMR.<schema>: Menentukan nama database dari mana Anda ingin menanyakan data.<table>: Menentukan nama tabel dari mana Anda ingin menanyakan data.Sebagai contoh, jika Anda ingin menanyakan data dari tabel
testdalam database default Hive, Anda dapat mengeksekusi pernyataanselect * from hive.default.test;.
Opsional. Jalankan perintah
quit;untuk keluar dari CLI Presto.
Kluster keamanan tinggi
Jika Anda mengaktifkan Kerberos Authentication saat membuat kluster, kluster tersebut adalah kluster keamanan tinggi.
Masuk ke kluster yang diinginkan dalam mode SSH. Untuk informasi lebih lanjut, lihat Masuk ke kluster.
Jalankan perintah berikut untuk membuka CLI Presto:
presto --server https://${FQDN}:7779 \ --krb5-config-path /etc/krb5.conf \ --keystore-path /etc/emr/presto-conf/keystore \ --keystore-password ${pwd} \ --krb5-keytab-path /etc/emr/presto-conf/presto.keytab \ --krb5-principal presto/${FQDN}@${REALM} \ --krb5-remote-service-name presto \ --user presto/${FQDN}PentingAnda hanya dapat mengakses layanan Presto dari kluster keamanan tinggi melalui HTTPS. Port HTTP 8889 tidak dapat diakses, dan port http-server.http.port yang ditentukan akan digantikan oleh http-server.https.port. Anda hanya dapat menggunakan port HTTPS 7779 untuk mengakses layanan Presto.
Parameter
Deskripsi
${FQDN}
Nama domain lengkap (FQDN) dari node master-1-1. FQDN harus dalam format
master-1-1.c-xxxxxxx.cn-xxxxxx.emr.aliyuncs.com. Anda dapat menjalankan perintahhostname -funtuk mendapatkan FQDN.--krb5-config-path
Nilai parameter
http.authentication.krb5.configdalam file config.properties. Nilainya tetap sebagai/etc/krb5.conf.--keystore-path
Nilai parameter
http-server.https.keystore.pathdalam file config.properties. Nilainya tetap sebagai/etc/emr/presto-conf/keystore.--keystore-password
Nilai parameter
http-server.https.keystore.keydalam file config.properties. Dalam contoh ini, nilainya adalah ${pwd}. Anda perlu mendapatkan nilai tersebut sendiri. Anda dapat menjalankan perintahawk -F= '/http-server.https.keystore.key/{print $2}' ${PRESTO_CONF_DIR}/config.propertiespada node master-1-1 untuk mendapatkan nilai tersebut.--krb5-keytab-path
Nilai parameter
http-server.authentication.krb5.keytabdalam file config.properties. Nilainya tetap sebagai/etc/emr/presto-conf/presto.keytab.${REALM}
Realm Kerberos. Anda perlu mendapatkan nilai tersebut sendiri. Tidak seperti realm Kerberos untuk Trino, realm Kerberos untuk Presto tidak dikonfigurasi dalam file konfigurasi. Anda dapat melihat realm Kerberos dalam file krb5.conf yang disimpan di direktori
/etc. Di EMR, realm Kerberos berada dalam formatEMR.C-XXXXXX.COM.--krb5-remote-service-name
Nilai parameter
http.server.authentication.krb5.service-namedalam file config.properties. Nilainya tetap sebagaipresto.Eksekusi pernyataan berikut untuk melihat data tabel:
select * from <catalog>.<schema>.<table>;Parameter dalam pernyataan di atas:
<catalog>: Menentukan nama sumber data yang ingin Anda hubungkan.Anda dapat menjalankan perintah
show catalogs;untuk melihat semua katalog. Anda juga dapat melihat semua katalog pada tab Configure halaman layanan Presto di konsol EMR.<schema>: Menentukan nama database dari mana Anda ingin menanyakan data.<table>: Menentukan nama tabel dari mana Anda ingin menanyakan data.Sebagai contoh, jika Anda ingin menanyakan data dari tabel
testdalam database default Hive, Anda dapat mengeksekusi pernyataanselect * from hive.default.test;.
Opsional. Jalankan perintah
quit;untuk keluar dari CLI Presto.
Referensi
Anda dapat menggunakan Java Database Connectivity (JDBC) untuk terhubung ke Presto guna menanyakan, menganalisis, dan memproses data kompleks, serta mengintegrasikan hasil query ke dalam aplikasi Java. Untuk informasi lebih lanjut, lihat Gunakan JDBC.