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

オプションの Trino コンポーネントを使用すると、Managed Service for Apache Spark クラスタ上のさまざまなデータソースに対して分散 SQL クエリを実行できます。このオープンソース クエリエンジンは、オプション コンポーネント機能を使用してクラスタの作成時に追加します。

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

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

Managed Service for Apache Spark クラスタの作成時にコンポーネントをインストールします。

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

Google Cloud コンソール

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

gcloud CLI

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

gcloud dataproc clusters create CLUSTER_NAME \
    --optional-components=TRINO \
    --region=region \
    --enable-component-gateway \
    ... other flags
    
注:

プロパティの構成

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

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

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

    --properties="trino-catalog:prodhive.connector.name=hive,trino-catalog:prodhive.hive.metastore.uri=thrift://localhost:9000"

REST API

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

クエリを実行する

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

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