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 EMR,
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 Sediakan konfigurasi menggunakan Java SDK ketika Anda membuat sebuah klaster
-
Buat
configurations.json
file dengan konten berikut. Misalnya, jika Anda ingin menggunakan metastore Hive sebagai katalog Anda, file Anda harus memiliki konten berikut.[ { "Classification": "trino-connector-iceberg", "Properties": { "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.
[ { "Classification": "trino-connector-iceberg", "Properties": { "connector.name": "iceberg", "iceberg.catalog.type": "glue" } } ]
-
Buat cluster dengan konfigurasi berikut, ganti contoh jalur bucket Amazon S3 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 \ --log-uri s3://
amzn-s3-demo-bucket
\ --configurations file://configurations.json \ --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 tabel Anda dengan perintah SQL 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://
amzn-s3-demo-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;
Pertimbangan untuk menggunakan Iceberg dengan Trino
-
Amazon EMR 6.5 tidak menawarkan dukungan Katalog Gunung Es Trino untuk Iceberg secara asli. Trino membutuhkan Iceberg v0.11, jadi kami sarankan meluncurkan cluster EMR Amazon untuk Trino yang terpisah dari cluster Spark dan termasuk Iceberg v0.11 di cluster itu.
-
Saat menggunakan AWS Glue sebagai katalog untuk Iceberg, pastikan database tempat Anda membuat tabel ada di Glue AWS . Jika Anda menggunakan layanan seperti AWS Lake Formation dan Anda tidak dapat memuat katalog, pastikan Anda memiliki akses yang tepat ke layanan untuk menjalankan perintah.
Integrasi Iceberg Glue tidak berfungsi dengan katalog Redshift Managed Storage.