全部產品
Search
文件中心

E-MapReduce:通過命令列方式訪問Presto

更新時間:Jul 01, 2024

建立了包含Presto服務的叢集後,您可以通過命令列方式串連至Presto,從而進行簡單快捷的資料查詢操作。

前提條件

已建立EMR-3.45.0及後續版本和EMR-5.11.0及後續版本,且選擇了Presto服務的叢集,詳情請參見建立叢集

普通叢集

說明

如果建立叢集時未開啟Kerberos身份認證開關,則建立的叢集即為普通叢集。

  1. 通過SSH方式登入叢集,詳情請參見登入叢集

  2. 執行以下命令,進入Presto命令列。

    presto --server master-1-1:8889
  3. 執行以下命令,查看錶資料。

    select * from <catalog>.<schema>.<table>;

    命令中的參數說明如下:

    • <catalog>:待串連的資料來源的名稱。

      您可以通過show catalogs;命令查看所有的Catalog;或者在EMR控制台Presto服務的配置頁簽,查看所有的Catalog。

    • <schema>:待查詢的資料庫的名稱。

    • <table>:待查詢的資料表。

      例如,如果要查看Hive資料來源中預設資料庫中的test表的資料,您可以使用select * from hive.default.test;命令。

  4. 可選: 執行quit;,可以退出Presto命令列。

高安全叢集

說明

如果建立叢集時開啟了Kerberos身份認證開關,則建立的叢集即為高安全叢集。

  1. 通過SSH方式登入叢集,詳情請參見登入叢集

  2. 執行以下命令,進入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}
    重要

    開啟高安全後只能通過HTTPS協議訪問Presto,HTTP連接埠8889會被關閉,UI將無法以原先的方式訪問,設定的http-server.http.port也會被http-server.https.port覆蓋,HTTPS連接埠值為7779。

    參數

    說明

    ${FQDN}

    master-1-1節點的FQDN,可通過hostname -f命令擷取,格式為master-1-1.c-xxxxxxx.cn-xxxxxx.emr.aliyuncs.com

    --krb5-config-path

    config.properties中http.authentication.krb5.config的值,固定為/etc/krb5.conf

    --keystore-path

    config.properties中http-server.https.keystore.path的值,固定為/etc/emr/presto-conf/keystore

    --keystore-password

    config.properties中http-server.https.keystore.key的值,即${pwd},需自行擷取,也可以在master-1-1節點上執行命令awk -F= '/http-server.https.keystore.key/{print $2}' ${PRESTO_CONF_DIR}/config.properties擷取。

    --krb5-keytab-path

    config.properties中http-server.authentication.krb5.keytab的值,固定為/etc/emr/presto-conf/presto.keytab

    ${REALM}

    Kerberos的REALM值,需自行擷取。與Trino不同,Presto的REALM不在設定檔中,需要在/etc/krb5.conf裡查看。EMR內部Kerberos的REALM格式為EMR.C-XXXXXX.COM

    --krb5-remote-service-name

    config.properties中http.server.authentication.krb5.service-name 的值,固定為presto

  3. 執行以下命令,查看錶資料。

    select * from <catalog>.<schema>.<table>;

    命令中的參數說明如下:

    • <catalog>:待串連的資料來源的名稱。

      您可以通過show catalogs;命令查看所有的Catalog;或者在EMR控制台Presto服務的配置頁簽,查看所有的Catalog。

    • <schema>:待查詢的資料庫的名稱。

    • <table>:待查詢的資料表。

      例如,如果要查看Hive資料來源中預設資料庫中的test表的資料,您可以使用select * from hive.default.test;命令。

  4. 可選: 執行quit;,可以退出Presto命令列。

相關文檔

如果您需要進行複雜的資料查詢、分析和處理操作,或者需要將查詢結果集成到Java應用程式中,則可以使用JDBC的方式串連Presto,詳情請參見通過JDBC方式訪問Presto