Presto サービスを含むクラスターを作成した後、CLI を使用して Presto に接続し、シンプルかつ高速なデータクエリを実行できます。
前提条件
PrestoサービスがデプロイされたV3.45.0、V5.11.0、またはV3.45.0もしくはV5.11.0以降のマイナーバージョンのE-MapReduce(EMR)クラスターが作成されていること。詳細については、「クラスターの作成」をご参照ください。
標準クラスター
クラスターの作成時に [Kerberos ID 認証] を有効にしなかった場合、そのクラスターは標準クラスターです。
-
SSH を使用してクラスターにログインします。 詳細については、「クラスターへのログイン」をご参照ください。
-
次のコマンドを実行して Presto CLI を起動します。
presto --server master-1-1:8889 -
次のコマンドを実行してテーブルのデータをクエリします。
select * from <catalog>.<schema>.<table>;コマンドのパラメーターは次のとおりです:
-
<catalog>:データソースの名前。show catalogs;コマンドを実行するか、EMR コンソールの Presto サービスの Configure タブに移動すると、すべてのカタログを表示できます。 -
<schema>:クエリ対象のデータベースの名前。 -
<table>:クエリ対象のテーブル。たとえば、Hive データソースのデフォルトデータベースにある
testテーブルのデータを表示するには、select * from hive.default.test;コマンドを実行します。
-
-
オプション:
quit;を実行して Presto CLI を終了します。
高セキュリティクラスター
クラスターの作成時に [Kerberos ID 認証] を有効にした場合、そのクラスターは高セキュリティクラスターです。
-
SSH を使用してクラスターにログインします。 詳細については、「クラスターへのログイン」をご参照ください。
-
次のコマンドを実行して Presto CLI を起動します。
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 経由ではアクセスできなくなります。 http-server.http.port の値は http-server.https.port によって上書きされます。 HTTPS ポートは 7779 です。
パラメーター
説明
${FQDN}
master-1-1 ノードの完全修飾ドメイン名 (FQDN) です。
hostname -fコマンドを実行して FQDN を取得できます。 FQDN はmaster-1-1.c-xxxxxxx.cn-xxxxxx.emr.aliyuncs.comという形式です。--krb5-config-path
config.propertiesファイルのhttp-server.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 のレルムはサービス設定ファイルではなく
/etc/krb5.confファイルで指定されます。 EMR 内の Kerberos のレルムは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;コマンドを実行して、すべてのカタログを表示できます。または、EMR コンソールの Presto サービスの Configure タブですべてのカタログを表示することもできます。 -
<schema>:クエリ対象のデータベースの名前。 -
<table>:クエリ対象のテーブル。たとえば、Hive データソースのデフォルトデータベースにある
testテーブルのデータを表示するには、select * from hive.default.test;コマンドを実行します。
-
-
オプション:
quit;を実行して Presto CLI を終了します。
関連ドキュメント
複雑なデータクエリ、分析、処理、またはクエリ結果を Java アプリケーションに統合する場合は、JDBC を使用して Presto に接続してください。 詳細については、「JDBC を使用した Presto への接続」をご参照ください。