創建了包含Presto服務的集群后,您可以通過命令行方式連接至Presto,從而進行簡單快捷的數據查詢操作。
前提條件
已創建EMR-3.45.0及后續版本和EMR-5.11.0及后續版本,且選擇了Presto服務的集群,詳情請參見創建集群。
普通集群
如果創建集群時未打開Kerberos身份認證開關,則創建的集群即為普通集群。
通過SSH方式登錄集群,詳情請參見登錄集群。
執行以下命令,進入Presto命令行。
presto --server master-1-1:8889
執行以下命令,查看表數據。
select * from <catalog>.<schema>.<table>;
命令中的參數說明如下:
<catalog>
:待連接的數據源的名稱。您可以通過
show catalogs;
命令查看所有的Catalog;或者在EMR控制臺Presto服務的配置頁簽,查看所有的Catalog。<schema>
:待查詢的數據庫的名稱。<table>
:待查詢的數據表。例如,如果要查看Hive數據源中默認數據庫中的
test
表的數據,您可以使用select * from hive.default.test;
命令。
可選: 執行
quit;
,可以退出Presto命令行。
高安全集群
如果創建集群時打開了Kerberos身份認證開關,則創建的集群即為高安全集群。
通過SSH方式登錄集群,詳情請參見登錄集群。
執行以下命令,進入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
。執行以下命令,查看表數據。
select * from <catalog>.<schema>.<table>;
命令中的參數說明如下:
<catalog>
:待連接的數據源的名稱。您可以通過
show catalogs;
命令查看所有的Catalog;或者在EMR控制臺Presto服務的配置頁簽,查看所有的Catalog。<schema>
:待查詢的數據庫的名稱。<table>
:待查詢的數據表。例如,如果要查看Hive數據源中默認數據庫中的
test
表的數據,您可以使用select * from hive.default.test;
命令。
可選: 執行
quit;
,可以退出Presto命令行。
相關文檔
如果您需要進行復雜的數據查詢、分析和處理操作,或者需要將查詢結果集成到Java應用程序中,則可以使用JDBC的方式連接Presto,詳情請參見使用JDBC。