Managed Service for Apache Spark のオプションの Presto コンポーネント

Presto のオプション コンポーネントを使用すると、Managed Service for Apache Spark クラスタで複数のデータソースに対してインタラクティブな分散 SQL クエリを直接実行できます。Presto(Trino)は、データ移行を必要とせずに、外部ストレージ システム全体で分析ワークロードを処理します。

コンポーネントをインストールする

Managed Service for Apache Spark クラスタの作成時にコンポーネントをインストールします。コンポーネントは、Managed Service for Apache Spark バージョン 1.3 以降で作成されたクラスタに追加できます。

Managed Service for Apache Spark イメージの各リリースに含まれるコンポーネント バージョンについては、サポートされる Managed Service for Apache Spark バージョンをご覧ください。

Google Cloud コンソール

  1. Google Cloud コンソールで、[クラスタの作成] ページを開きます。
  2. [追加構成] をクリックして、そのセクションを開きます。
  3. [オプション コンポーネント] を編集します。
  4. 表示されたパネルで、[Presto] のチェックボックスをオンにします。

gcloud CLI コマンド

Presto コンポーネントを含む Managed Service for Apache Spark クラスタを作成するには、--optional-components フラグを指定して gcloud dataproc clusters create cluster-name コマンドを使用します。

gcloud dataproc clusters create cluster-name \
    --optional-components=PRESTO \
    --region=region \
    --enable-component-gateway \
    ... other flags

プロパティの構成

gcloud dataproc clusters create コマンドに --properties フラグを追加して、presto、presto-jvm、presto-catalog config のプロパティを設定します。

  • アプリケーション プロパティ: presto: 接頭辞が付いたクラスタ プロパティを使用して、Presto アプリケーション プロパティを構成します(例: --properties="presto:join-distribution-type=AUTOMATIC")。
  • JVM 構成プロパティ: presto-jvm: 接頭辞が付いたクラスタ プロパティを使用して、Presto コーディネーターとワーカー Java プロセスの JVM プロパティを構成します(例: --properties="presto-jvm:XX:+HeapDumpOnOutOfMemoryError")。
  • 新しいカタログの作成とカタログ プロパティの追加: presto-catalog:catalog-name.property-name を使用して Presto カタログを構成します。

    例: 次の properties フラグを gcloud dataproc clusters create コマンドで使用すると、prodhive Hive カタログを含む Presto クラスタを作成できます。/usr/lib/presto/etc/catalog/ の下に prodhive.properties ファイルが作成され、prodhive カタログが有効になります。

    --properties="presto-catalog:prodhive.connector.name=hive-hadoop2,presto-catalog:prodhive.hive.metastore.uri=thrift://localhost:9083

REST API

Dataproc API を使用して Presto コンポーネントを指定するには、clusters.create リクエストの一部として SoftwareConfig.Component を使用します。

Presto にアクセスしてクエリを実行する

Presto サーバーとウェブ UI は、デフォルトでは、クラスタの最初のマスターノードのポート 8060(Kerberos が有効になっている場合はポート 7778)で使用できます。

デフォルトで、Managed Service for Apache Spark 上の Presto は、Hive、BigQuery、Memory、TPCH、TPCDS のコネクタとそれぞれ連携するように構成されています。

Presto コンポーネントを使用してクラスタを作成した後は、次の方法でクエリを実行できます。