全部产品
Search
文档中心

E-MapReduce:Gunakan CLI untuk terhubung ke Presto

更新时间:Jul 02, 2025

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

Catatan

Jika Anda tidak mengaktifkan Kerberos Authentication saat membuat kluster, kluster tersebut adalah kluster umum.

  1. Masuk ke kluster yang diinginkan dalam mode SSH. Untuk informasi lebih lanjut, lihat Masuk ke kluster.

  2. Jalankan perintah berikut untuk membuka CLI Presto:

    presto --server master-1-1:8889
  3. 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 test dalam database default Hive, Anda dapat mengeksekusi pernyataan select * from hive.default.test;.

  4. Opsional. Jalankan perintah quit; untuk keluar dari CLI Presto.

Kluster keamanan tinggi

Catatan

Jika Anda mengaktifkan Kerberos Authentication saat membuat kluster, kluster tersebut adalah kluster keamanan tinggi.

  1. Masuk ke kluster yang diinginkan dalam mode SSH. Untuk informasi lebih lanjut, lihat Masuk ke kluster.

  2. 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}
    Penting

    Anda 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 perintah hostname -f untuk mendapatkan FQDN.

    --krb5-config-path

    Nilai parameter http.authentication.krb5.config dalam file config.properties. Nilainya tetap sebagai /etc/krb5.conf.

    --keystore-path

    Nilai parameter http-server.https.keystore.path dalam file config.properties. Nilainya tetap sebagai /etc/emr/presto-conf/keystore.

    --keystore-password

    Nilai parameter http-server.https.keystore.key dalam file config.properties. Dalam contoh ini, nilainya adalah ${pwd}. Anda perlu mendapatkan nilai tersebut sendiri. Anda dapat menjalankan perintah awk -F= '/http-server.https.keystore.key/{print $2}' ${PRESTO_CONF_DIR}/config.properties pada node master-1-1 untuk mendapatkan nilai tersebut.

    --krb5-keytab-path

    Nilai parameter http-server.authentication.krb5.keytab dalam 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 format EMR.C-XXXXXX.COM.

    --krb5-remote-service-name

    Nilai parameter http.server.authentication.krb5.service-name dalam file config.properties. Nilainya tetap sebagai presto.

  3. 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 test dalam database default Hive, Anda dapat mengeksekusi pernyataan select * from hive.default.test;.

  4. 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.