翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Trino でアイスバーグクラスターを使用する
Amazon EMR バージョン 6.6.0 以降では、Trino クラスターで Iceberg を使用できるようになりました。
このチュートリアルでは、を使用して Amazon EMR Trino クラスターで Iceberg を操作します。AWS CLIコンソールを使用して Iceberg がインストールされたクラスターを作成するには、「Amazon Athena、Amazon EMR、AWS Glue を使用して Apache アイスバーグデータレイクを構築する
アイスバーグクラスターの作成
Iceberg on Amazon EMR を使用してを使用するにはAWS CLI、まず以下の手順でクラスターを作成します。を使用してアイスバーグ分類を指定する方法についてはAWS CLI、クラスター作成時に AWS CLI を使用して設定を指定するまたはを参照してくださいクラスター作成時に Java SDK を使用して設定を指定する。
-
iceberg.properties
ファイルを作成し、選択したカタログの値を設定します。たとえば、Hive メタストアをカタログとして使用する場合、ファイルには次の内容が含まれている必要があります。connector.name=iceberg hive.metastore.uri=thrift://localhost:9083
AWSGlue Data Catalog をストアとして使用する場合、ファイルには次の内容が含まれている必要があります。
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>
アイスバーグ用の 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;