E-MapReduce (EMR) では、Trino で Paimon のデータのクエリを実行できます。このトピックでは、Trino で Paimon のデータのクエリを実行する方法について説明します。
前提条件
Trino サービスと Paimon サービスを含む DataLake クラスターまたはカスタムクラスターが作成されていること。クラスターの作成方法の詳細については、「クラスターの作成」をご参照ください。
制限事項
EMR V3.46.0 以降のマイナーバージョン、または EMR V5.12.0 以降のマイナーバージョンのクラスターでのみ、Trino で Paimon のデータのクエリを実行できます。
手順
warehouse パラメーターを変更します。
Paimon は、Hadoop Distributed File System (HDFS) などのファイルシステム、または OSS-HDFS などのオブジェクトストレージシステムにデータとメタデータを保存します。ストレージのルートパスは、warehouse パラメーターで指定されます。
Trino サービスページの [構成] タブに移動します。
EMR コンソール にログインします。左側のナビゲーションペインで、[ECS 上の EMR] をクリックします。
上部のナビゲーションバーで、クラスターが存在するリージョンを選択し、ビジネス要件に基づいてリソースグループを選択します。
[ECS 上の EMR] ページで、目的のクラスターを見つけ、[アクション] 列の [サービス] をクリックします。
[サービス] タブで、Trino サービスを見つけ、[構成] をクリックします。
[構成] タブで、[paimon.properties] タブをクリックします。
[warehouse] パラメーターの値をストレージのルートパスに変更します。
構成を保存します。
[保存] をクリックします。
表示されるダイアログボックスで、[実行理由] パラメーターを構成し、[保存] をクリックします。
オプション。 metastore パラメーターを変更します。
Trino によって使用される Metastore のタイプは、クラスターの作成時に選択したサービスに基づいて自動的に指定されます。 Trino によって使用される Metastore のタイプを変更する場合は、Trino サービスページの [構成] タブの [paimon.properties] タブで、[metastore] パラメーターの値を変更できます。
Paimon の metastore パラメーターの有効な値:
filesystem: メタデータはファイルシステムまたはオブジェクトストレージシステムに保存されます。
hive: メタデータは指定された Hive Metastore に同期されます。
dlf: メタデータは Data Lake Formation (DLF) に同期されます。
Trino サービスを再起動します。
Trino サービスページの [構成] タブの右上隅で、[詳細] > [再起動] を選択します。
表示されるダイアログボックスで、[実行理由] パラメーターを構成し、[OK] をクリックします。
[確認] メッセージで、[OK] をクリックします。
Paimon のデータのクエリを実行します。
次の例は、Spark を使用してファイルシステムカタログにデータを書き込み、Trino で Paimon のデータのクエリを実行する方法を示しています。
次のコマンドを実行して 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: データウェアハウスの実際の場所を指定します。ビジネス要件に基づいてこのパラメーターを構成します。
次の 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);次のコマンドを実行して Trino を起動します。
trino --server master-1-1:9090 --catalog paimon --schema default --user hadoop次のステートメントを実行して、Paimon テーブルに書き込まれたデータのクエリを実行します。
USE test_db; SELECT * FROM test_tbl;