すべてのプロダクト
Search
ドキュメントセンター

E-MapReduce:CLI を使用して Presto に接続する

最終更新日:Jan 11, 2025

このトピックでは、CLI を使用して Presto に接続し、Presto を使用してデータをクエリする方法について説明します。

前提条件

Presto サービスがデプロイされた V3.45.0、V5.11.0 以降のマイナーバージョンの E-MapReduce(EMR)クラスターが作成されていること。詳細については、クラスターの作成をご参照ください。

共通クラスター

説明

クラスターの作成時に [kerberos 認証] を有効にしていない場合、クラスターは共通クラスターです。

  1. SSH モードで目的のクラスターにログオンします。詳細については、クラスターへのログオンをご参照ください。

  2. 次のコマンドを実行して、Presto CLI を開きます。

    presto --server master-1-1:8889
  3. 次のステートメントを実行して、テーブルデータを表示します。

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

    上記のステートメントのパラメーター:

    • <catalog>:接続先のデータソースの名前を指定します。

      show catalogs; コマンドを実行して、すべてのカタログを表示できます。また、EMR コンソールの Presto サービスページの [構成] タブですべてのカタログを表示することもできます。

    • <schema>:データをクエリするデータベースの名前を指定します。

    • <table>:データをクエリするテーブルの名前を指定します。

      たとえば、Hive のデフォルトデータベースの test テーブルからデータをクエリする場合、select * from hive.default.test; ステートメントを実行できます。

  4. オプション。 quit; コマンドを実行して、Presto CLI を終了します。

高セキュリティクラスター

説明

クラスターの作成時に [kerberos 認証] を有効にした場合、クラスターは高セキュリティクラスターです。

  1. SSH モードで目的のクラスターにログオンします。詳細については、クラスターへのログオンをご参照ください。

  2. 次のコマンドを実行して、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}
    重要

    高セキュリティクラスターの Presto サービスには、HTTPS 経由でのみアクセスできます。HTTP ポート 8889 はアクセスできず、指定された http-server.http.porthttp-server.https.port によって上書きされます。HTTPS ポート 7779 のみを使用して Presto サービスにアクセスできます。

    パラメーター

    説明

    ${FQDN}

    master-1-1 ノードの完全修飾ドメイン名(FQDN)。FQDN は master-1-1.c-xxxxxxx.cn-xxxxxx.emr.aliyuncs.com 形式である必要があります。hostname -f コマンドを実行して FQDN を取得できます。

    --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 レルム。値は自分で取得する必要があります。Trino の Kerberos レルムとは異なり、Presto の Kerberos レルムは構成ファイルでは構成されていません。/etc ディレクトリに保存されている krb5.conf ファイルで Kerberos レルムを表示できます。EMR では、Kerberos レルムは 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; コマンドを実行して、すべてのカタログを表示できます。また、EMR コンソールの Presto サービスページの [構成] タブですべてのカタログを表示することもできます。

    • <schema>:データをクエリするデータベースの名前を指定します。

    • <table>:データをクエリするテーブルの名前を指定します。

      たとえば、Hive のデフォルトデータベースの test テーブルからデータをクエリする場合、select * from hive.default.test; ステートメントを実行できます。

  4. オプション。 quit; コマンドを実行して、Presto CLI を終了します。

参照

Java Database Connectivity(JDBC)を使用して Presto に接続し、複雑なデータのクエリ、分析、処理、またはクエリ結果を Java アプリケーションに統合できます。詳細については、JDBC の使用をご参照ください。