翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Trino での Iceberg クラスターの使用
Amazon EMRバージョン 6.6.0 以降では、Trino クラスターで Iceberg を使用できます。
このチュートリアルでは、 を使用して Amazon EMR Trino クラスターで Iceberg AWS CLI を操作します。コンソールを使用して Iceberg がインストールされたクラスターを作成するには、Amazon Athena、EMRおよび AWS Glue を使用して Apache Iceberg データレイクを構築する
Iceberg クラスターの作成
EMR で Amazon の Iceberg を使用するには AWS CLI、まず次のステップでクラスターを作成します。を使用して Iceberg 分類を指定する方法については AWS CLI、クラスターの作成 AWS CLI 時に を使用して設定を指定する「」または「」を参照してくださいクラスターの作成SDK時に Java を使用して設定を指定する。
-
iceberg.properties
ファイルを作成し、選択したカタログの値を設定します。例えば、Hive メタストアをカタログとして使用する場合、ファイルには次の内容が含まれている必要があります。connector.name=iceberg hive.metastore.uri=thrift://localhost:9083
AWS Glue データカタログをストアとして使用する場合は、ファイルに次のコンテンツが含まれている必要があります。
connector.name=iceberg iceberg.catalog.type=glue
-
次の例のように、Amazon S3 の
iceberg.properties
を/etc/trino/conf/catalog/iceberg.properties
にコピーするブートストラップアクションを作成します。ブートストラップアクションの詳細については、「追加のソフトウェアをインストールするためのブートストラップアクションの作成」を参照してください。set -ex sudo aws s3 cp s3://
DOC-EXAMPLE-BUCKET
/iceberg.properties /etc/trino/conf/catalog/iceberg.properties -
以下の設定でクラスターを作成し、この例のブートストラップアクションのスクリプトパスとキー名を自分のものに置き換えます。
aws emr create-cluster --release-label emr-6.7.0 \ --applications Name=Trino \ --region us-east-1 \ --name My_Trino_Iceberg_Cluster \ --bootstrap-actions '[{"Path":"s3://
DOC-EXAMPLE-BUCKET
","Name":"Add iceberg.properties"}]' \ --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=c3.4xlarge InstanceGroupType=CORE,InstanceCount=3,InstanceType=c3.4xlarge \ --use-default-roles \ --ec2-attributes KeyName=<key-name>
Iceberg の Trino セッションの初期化
Trino セッションを初期化するには、次のコマンドを実行します。
trino-cli --catalog iceberg
Iceberg テーブルへの書き込み
次のSQLコマンドを使用して、テーブルを作成して書き込みます。
trino> SHOW SCHEMAS; trino> CREATE TABLE default.iceberg_table ( id int, data varchar, category varchar) WITH ( format = 'PARQUET', partitioning = ARRAY['category', 'bucket(id, 16)'], location = 's3://
DOC-EXAMPLE-BUCKET
/<prefix>') trino> INSERT INTO default.iceberg_table VALUES (1,'a','c1'), (2,'b','c2'), (3,'c','c3');
Iceberg のテーブルからの読み込み
Iceberg テーブルから読み込むには、次のコマンドを実行します。
trino> SELECT * from default.iceberg_table;