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

E-MapReduce:Paimon と Trino の統合

最終更新日:Jan 11, 2025

E-MapReduce (EMR) では、Trino で Paimon のデータのクエリを実行できます。このトピックでは、Trino で Paimon のデータのクエリを実行する方法について説明します。

前提条件

Trino サービスと Paimon サービスを含む DataLake クラスターまたはカスタムクラスターが作成されていること。クラスターの作成方法の詳細については、「クラスターの作成」をご参照ください。

制限事項

EMR V3.46.0 以降のマイナーバージョン、または EMR V5.12.0 以降のマイナーバージョンのクラスターでのみ、Trino で Paimon のデータのクエリを実行できます。

手順

  1. warehouse パラメーターを変更します。

    Paimon は、Hadoop Distributed File System (HDFS) などのファイルシステム、または OSS-HDFS などのオブジェクトストレージシステムにデータとメタデータを保存します。ストレージのルートパスは、warehouse パラメーターで指定されます。

    1. Trino サービスページの [構成] タブに移動します。

      1. EMR コンソール にログインします。左側のナビゲーションペインで、[ECS 上の EMR] をクリックします。

      2. 上部のナビゲーションバーで、クラスターが存在するリージョンを選択し、ビジネス要件に基づいてリソースグループを選択します

      3. [ECS 上の EMR] ページで、目的のクラスターを見つけ、[アクション] 列の [サービス] をクリックします。

      4. [サービス] タブで、Trino サービスを見つけ、[構成] をクリックします。

    2. [構成] タブで、[paimon.properties] タブをクリックします。

    3. [warehouse] パラメーターの値をストレージのルートパスに変更します。

    4. 構成を保存します。

      1. [保存] をクリックします。

      2. 表示されるダイアログボックスで、[実行理由] パラメーターを構成し、[保存] をクリックします。

  2. オプション。 metastore パラメーターを変更します。

    Trino によって使用される Metastore のタイプは、クラスターの作成時に選択したサービスに基づいて自動的に指定されます。 Trino によって使用される Metastore のタイプを変更する場合は、Trino サービスページの [構成] タブの [paimon.properties] タブで、[metastore] パラメーターの値を変更できます。

    Paimon の metastore パラメーターの有効な値:

    • filesystem: メタデータはファイルシステムまたはオブジェクトストレージシステムに保存されます。

    • hive: メタデータは指定された Hive Metastore に同期されます。

    • dlf: メタデータは Data Lake Formation (DLF) に同期されます。

  3. Trino サービスを再起動します。

    1. Trino サービスページの [構成] タブの右上隅で、[詳細] > [再起動] を選択します。

    2. 表示されるダイアログボックスで、[実行理由] パラメーターを構成し、[OK] をクリックします。

    3. [確認] メッセージで、[OK] をクリックします。

  4. Paimon のデータのクエリを実行します。

    次の例は、Spark を使用してファイルシステムカタログにデータを書き込み、Trino で Paimon のデータのクエリを実行する方法を示しています。

    1. 次のコマンドを実行して Spark SQL を起動します。

      spark-sql --conf spark.sql.catalog.paimon=org.apache.paimon.spark.SparkCatalog --conf spark.sql.catalog.paimon.metastore=filesystem --conf spark.sql.catalog.paimon.warehouse=oss://<Domain name of OSS-HDFS>/warehouse
      説明
      • spark.sql.catalog.paimon: paimon という名前のカタログを定義します。

      • spark.sql.catalog.paimon.metastore: カタログで使用されるメタデータストレージタイプを指定します。このパラメーターを filesystem に設定すると、メタデータはオンプレミスのファイルシステムに保存されます。

      • spark.sql.catalog.paimon.warehouse: データウェアハウスの実際の場所を指定します。ビジネス要件に基づいてこのパラメーターを構成します。

    2. 次の Spark SQL ステートメントを実行して、作成されたカタログに Paimon テーブルを作成し、テーブルにデータを書き込みます。

      -- paimon カタログに切り替えます。
      USE paimon;
      
      -- 作成されたカタログにテストデータベースを作成し、そのデータベースを使用します。
      CREATE DATABASE test_db;
      USE test_db;
      
      -- Paimon テーブルを作成します。
      CREATE TABLE test_tbl (
          uuid int,
          name string,
          price double
      ) TBLPROPERTIES (
          'primary-key' = 'uuid'
      );
      
      -- Paimon テーブルにデータを書き込みます。
      INSERT INTO test_tbl VALUES (1, 'apple', 3.5), (2, 'banana', 4.0), (3, 'cherry', 20.5);
    3. 次のコマンドを実行して Trino を起動します。

      trino --server master-1-1:9090 --catalog paimon --schema default --user hadoop
    4. 次のステートメントを実行して、Paimon テーブルに書き込まれたデータのクエリを実行します。

      USE test_db;
      
      SELECT * FROM test_tbl;