Gunakan cluster Iceberg dengan Trino - Amazon EMR

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Gunakan cluster Iceberg dengan Trino

Dimulai dengan Amazon EMR versi 6.6.0, Anda dapat menggunakan Iceberg dengan cluster Trino Anda.

Dalam tutorial ini, Anda menggunakan AWS CLI untuk bekerja dengan Iceberg di cluster Amazon EMR Trino. Untuk menggunakan konsol untuk membuat cluster dengan Iceberg diinstal, ikuti langkah-langkah dalam Membangun danau data Apache Iceberg menggunakan Amazon Athena, Amazon, dan Glue. EMR AWS

Buat cluster Iceberg

Untuk menggunakan Iceberg di Amazon EMR dengan AWS CLI, pertama buat cluster dengan langkah-langkah berikut. Untuk informasi tentang menentukan klasifikasi Gunung Es menggunakan AWS CLI, lihat atau. Menyediakan konfigurasi menggunakan AWS CLI saat Anda membuat klaster Menyediakan konfigurasi menggunakan Java SDK saat Anda membuat cluster

  1. Buat iceberg.properties file dan tetapkan nilai untuk katalog pilihan Anda. Misalnya, jika Anda ingin menggunakan metastore Hive sebagai katalog Anda, file Anda harus memiliki konten berikut.

    connector.name=iceberg hive.metastore.uri=thrift://localhost:9083

    Jika Anda ingin menggunakan AWS Glue Data Catalog sebagai toko Anda, file Anda harus memiliki konten berikut.

    connector.name=iceberg iceberg.catalog.type=glue
  2. Buat tindakan bootstrap yang menyalin iceberg.properties dari Amazon S3 ke/etc/trino/conf/catalog/iceberg.properties, seperti pada contoh berikut. Untuk informasi tentang tindakan bootstrap, lihat Membuat tindakan bootstrap untuk menginstal perangkat lunak tambahan.

    set -ex sudo aws s3 cp s3://DOC-EXAMPLE-BUCKET/iceberg.properties /etc/trino/conf/catalog/iceberg.properties
  3. Buat cluster dengan konfigurasi berikut, ganti contoh jalur skrip tindakan bootstrap dan nama kunci dengan milik Anda sendiri.

    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>

Inisialisasi sesi Trino untuk Iceberg

Untuk menginisialisasi sesi Trino, jalankan perintah berikut.

trino-cli --catalog iceberg

Menulis ke meja Iceberg

Buat dan tulis ke meja Anda dengan SQL perintah berikut.

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');

Baca dari tabel untuk Gunung Es

Untuk membaca dari tabel Iceberg Anda, jalankan perintah berikut.

trino> SELECT * from default.iceberg_table;