全部产品
Search
文档中心

E-MapReduce:Gunakan CLI untuk terhubung ke Trino

更新时间:Jul 02, 2025

Setelah membuat kluster yang mencakup layanan Trino, Anda dapat menggunakan CLI untuk terhubung ke Trino dan menjalankan kueri data secara sederhana dan cepat.

Prasyarat

Kluster E-MapReduce (EMR) dengan layanan Trino telah dibuat. Untuk informasi lebih lanjut tentang pembuatan kluster, lihat Buat Kluster.

Batasan

Autentikasi Ranger dan autentikasi Kerberos tidak dapat diaktifkan secara bersamaan untuk kluster.

Kluster DataLake dan kluster kustom

Catatan

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

Kluster biasa

  1. Masuk ke kluster Anda dalam mode SSH. Untuk informasi lebih lanjut, lihat Masuk ke Kluster.

  2. Jalankan perintah berikut untuk terhubung ke CLI Trino:

    Catatan

    Jika kluster Anda adalah EMR V3.44.0 atau versi minor yang lebih baru, atau EMR V5.10.0 atau versi minor yang lebih baru, nama layanannya adalah Trino. Jika kluster Anda adalah versi minor sebelum EMR V3.44.0 atau EMR V5.10.0, nama layanannya adalah Presto.

    Dalam EMR V3.44.0, EMR V5.10.0, atau versi minor setelah EMR V3.44.0 atau EMR V5.10.0

    trino --server master-1-1:9090

    Dalam versi minor sebelum EMR V3.44.0 atau EMR V5.10.0

    presto --server master-1-1:9090
  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 dihubungkan.

    • <schema>: Menentukan nama database yang ingin digunakan.

    • <table>: Menentukan nama tabel dari mana data akan diambil.

      Sebagai contoh, jika Anda ingin mengambil data dari tabel test dalam database default Hive, jalankan pernyataan select * from hive.default.test;.

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

Kluster keamanan tinggi

  1. Masuk ke kluster Anda dalam mode SSH. Untuk informasi lebih lanjut, lihat Masuk ke Kluster.

  2. Jalankan perintah berikut untuk terhubung ke CLI Trino:

    Dalam EMR V3.44.0, EMR V5.10.0, atau versi minor setelah EMR V3.44.0 atau EMR V5.10.0

    trino --server https://${FQDN}:7778 \
           --krb5-config-path /etc/krb5.conf \
           --keystore-path /etc/emr/trino-conf/keystore \
           --keystore-password ${pwd} \
           --krb5-keytab-path /etc/emr/trino-conf/trino.keytab \
           --krb5-principal trino/${FQDN}@${REALM} \
           --krb5-remote-service-name trino \
           --user trino/${FQDN}
           --catalog ${CATALOG}

    Dalam versi minor sebelum EMR V3.44.0 atau EMR V5.10.0

    Catatan

    Jika kluster Anda adalah EMR V3.44.0 atau versi minor yang lebih baru, atau EMR V5.10.0 atau versi minor yang lebih baru, nama layanannya adalah Trino. Jika kluster Anda adalah versi minor sebelum EMR V3.44.0 atau EMR V5.10.0, nama layanannya adalah Presto.

    presto --server https://${FQDN}:7778 \
           --krb5-config-path /etc/krb5.conf \
           --keystore-path /etc/emr/trino-conf/keystore \
           --keystore-password ${pwd} \
           --krb5-keytab-path /etc/emr/trino-conf/trino.keytab \
           --krb5-principal trino/${FQDN}@${REALM} \
           --krb5-remote-service-name trino \
           --user trino/${FQDN}

    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/trino-conf/keystore.

    --keystore-password

    Nilai parameter http-server.https.keystore.key dalam file config.properties. Dalam contoh ini, nilainya adalah ${pwd}. Anda dapat menjalankan perintah awk -F= '/http-server.https.keystore.key/{print $2}' ${TRINO_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/trino-conf/trino.keytab.

    ${REALM}

    Nilai parameter http-server.authentication.krb5.user-mapping.pattern dalam file config.properties. Anda perlu mendapatkan nilai tersebut sendiri. Realm Kerberos 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 trino.

    ${CATALOG}

    Nama sumber data yang ingin Anda hubungkan. Sebagai contoh, --catalog hive menunjukkan sumber data Hive.

  3. Jalankan perintah berikut untuk melihat skema dalam katalog yang ada:

    show schemas;
  4. Opsional. Jalankan perintah quit; untuk keluar dari CLI Trino.

Kluster Hadoop

Catatan

Untuk kluster Hadoop, nama layanannya adalah Presto.

Kluster biasa

  1. Masuk ke kluster Anda dalam mode SSH. Untuk informasi lebih lanjut, lihat Masuk ke Kluster.

  2. Jalankan perintah berikut untuk terhubung ke CLI Presto:

    presto --server emr-header-1:9090 --catalog hive --schema default --user hadoop

    Parameter dalam perintah di atas:

    • --server emr-header-1:9090: Menentukan alamat dan nomor port layanan Presto.

    • --catalog hive: Menentukan nama sumber data yang ingin dihubungkan. Dalam contoh ini, Hive digunakan. Anda dapat memodifikasi parameter ini sesuai kebutuhan bisnis Anda.

    • --schema default: Menentukan nama database atau skema yang ingin digunakan. Dalam contoh ini, database default digunakan. Anda dapat memodifikasi parameter ini sesuai kebutuhan bisnis Anda.

    • --user hadoop: Menentukan nama pengguna untuk otentikasi.

  3. Jalankan perintah berikut untuk melihat skema dalam katalog yang ada:

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

Kluster keamanan tinggi

  1. Masuk ke kluster Anda dalam mode SSH. Untuk informasi lebih lanjut, lihat Masuk ke Kluster.

  2. Tambahkan principal dan ekspor file keytab.

    1. Jalankan perintah berikut untuk mengaktifkan alat administrasi Kerberos:

      • Dalam EMR V3.30.0, EMR V4.5.1, atau versi minor setelahnya

        sh /usr/lib/has-current/bin/admin-local.sh /etc/ecm/has-conf -k /etc/ecm/has-conf/admin.keytab
      • Dalam versi minor sebelum EMR V3.30.0 atau EMR V4.5.1

        sh /usr/lib/has-current/bin/hadmin-local.sh /etc/ecm/has-conf -k /etc/ecm/has-conf/admin.keytab
    2. Jalankan perintah berikut untuk menambahkan principal dari kunci tertentu:

      addprinc -randkey test
      Catatan

      Dalam contoh ini, principal test ditambahkan.

    3. Jalankan perintah berikut untuk mengekspor file keytab:

      xst -k /home/test.keytab test

      Secara default, file keytab diekspor ke direktori /home/.

  3. Jalankan perintah berikut untuk membuka CLI Presto:

    presto --server https://<hostname>:7778 \
           --catalog hive \
           --schema default \
           --keystore-path /etc/ecm/presto-conf/keystore \
           --keystore-password <passwd> \
           --krb5-keytab-path <keytab_file> \
           --krb5-principal <username>@EMR.<cluster_id>.COM \
           --krb5-remote-service-name presto \
           --user <username>

    Parameter

    Deskripsi

    <hostname>

    Nama host. Anda dapat menjalankan perintah hostname pada node emr-header-1 untuk mendapatkan nilainya. Nilainya dalam format emr-header-1.cluster-xxx.

    <passwd>

    Kata sandi. Anda dapat menjalankan perintah sed -n 's/http-server.https.keystore.key=\([^;]*\)/\1/p' /etc/ecm/presto-conf/config.properties pada node emr-header-1 untuk mendapatkan nilainya.

    <keytab_file>

    Jalur file keytab yang diekspor. Dalam contoh ini, jalurnya adalah /home/test.keytab.

    <username>

    Principal dari file keytab yang dibuat. Dalam contoh ini, principalnya adalah test.

    <cluster_id>

    ID kluster. Anda dapat menjalankan perintah hostname | grep -Eo '[0-9]+$' pada node emr-header-1 untuk mendapatkan nilainya.

  4. Jalankan perintah berikut untuk melihat skema dalam katalog yang ada:

    show schemas;
  5. Opsional. Jalankan perintah quit; untuk keluar dari CLI Presto.

Referensi

Anda dapat menggunakan JDBC untuk terhubung ke Trino guna menjalankan kueri, menganalisis, dan memproses data kompleks, serta mengintegrasikan hasil kueri ke dalam aplikasi Java. Untuk informasi lebih lanjut, lihat Gunakan JDBC.