Topik ini menjelaskan cara mengakses katalog Data Lake Formation (DLF) dari lingkungan Trino di E-MapReduce (EMR) pada ECS menggunakan protokol REST Catalog Apache Paimon.
Prasyarat
Sebelum memulai, pastikan Anda telah:
Memiliki kluster EMR yang menjalankan versi 5.13.0 atau lebih baru dengan komponen Trino dipilih.
(Opsional) Jika Anda memerlukan dukungan untuk versi berbeda, bergabunglah ke grup DingTalk (ID: 106575000021) untuk menghubungi pengembang DLF.
Buat katalog
Lihat Siapkan DLF.
Berikan izin DLF kepada sebuah role
Berikan izin yang diperlukan kepada role AliyunECSInstanceForEMRRole agar node EMR dapat mengakses DLF. Langkah ini mencakup dua tahap: memberikan kebijakan akses Resource Access Management (RAM) dan memberikan izin katalog DLF.
Anda dapat melewati langkah 1 setelah integrasi produk EMR dengan DLF selesai.
Berikan izin RAM kepada role AliyunECSInstanceForEMRRole.
Masuk ke Konsol RAM menggunakan Akun Alibaba Cloud Anda atau sebagai administrator RAM.
Pada panel navigasi, pilih Identity Management > Roles. Cari AliyunECSInstanceForEMRRole.
Pada kolom Actions, klik Add Permissions.
Pada bagian Access Policy, cari dan pilih AliyunDLFFullAccess, lalu klik Confirm to Add Permissions.

Berikan izin DLF kepada role AliyunECSInstanceForEMRRole.
Masuk ke Konsol Data Lake Formation.
Pada halaman Catalogs, klik nama katalog untuk membuka halaman detailnya.
Klik tab Permissions, lalu klik Grant.
Pada halaman Grant, konfigurasikan parameter berikut dan klik OK.
Atur User/Role menjadi RAM User/RAM Role.
Untuk Select Authorization Object, pilih AliyunECSInstanceForEMRRole dari daftar drop-down.
Note: Jika AliyunECSInstanceForEMRRole tidak muncul dalam daftar drop-down, buka halaman manajemen pengguna dan klik Sync.
Atur Preset Permission Type menjadi Data Editor.
Upgrade dependensi Paimon untuk kluster EMR
EMR merupakan lingkungan kluster terkelola, sehingga Anda harus memperbarui file JAR plugin Paimon melalui aksi skrip, bukan dengan mengganti file secara langsung di setiap node.
Impor dependensi Paimon.
Unduh dua file JAR yang diperlukan dan unggah ke Object Storage Service (OSS). Atur izin file menjadi public-read. Untuk instruksi pengunggahan, lihat Simple upload.
Buat skrip upgrade berikut dan unggah ke OSS.
#!/bin/bash echo 'backup paimon-trino-ali-.*' sudo mkdir /tmp/upgrade-trino-dlf2.5 sudo cp -r /opt/apps/TRINO/trino-current/plugin/paimon /tmp/upgrade-trino-dlf2.5 echo 'clear old paimon plugin jars' sudo rm -rf /opt/apps/TRINO/trino-current/plugin/paimon/* echo 'download paimon-ali-trino-1.4.jar' cd /opt/apps/TRINO/trino-current/plugin/paimon/ wget ${paimon-ali-jindo-1.4.jar} wget ${paimon-trino-422-1.4-plugin.jar}PentingGanti
${paimon-ali-jindo-1.4.jar}dan${paimon-trino-422-1.4-plugin.jar}dengan path unduhan OSS dari file yang sesuai. Contohnya:https://<bucket>.oss-cn-hangzhou-internal.aliyuncs.com/jars/paimon-ali-jindo-1.4.jar.
Jalankan skrip tersebut di kluster EMR sebagai aksi skrip manual. Untuk informasi selengkapnya, lihat Manually run a script.
Di kluster EMR, buka Script Operation > Manual Execution, lalu klik Create and Execute.
Pada kotak dialog, atur parameter berikut dan klik OK.
Name: Masukkan nama untuk skrip tersebut.
Script Location: Pilih skrip upgrade yang telah Anda unggah ke OSS. Path harus mengikuti format
oss://**/*.sh.Execution Scope: Pilih Cluster.
Konfigurasikan Trino untuk terhubung ke katalog
Di kluster EMR, buka Cluster Services, klik Configure untuk layanan Trino, lalu tambahkan atau ubah pengaturan berikut dalam file paimon.properties.
connector.name=paimon
warehouse=dlf_test
metastore=rest
token.provider=dlf
uri=http://<region-id>-vpc.dlf.aliyuncs.com
dlf.token-loader=ecsDalam konteks REST Catalog,warehouseadalah nama instans katalog DLF Anda, bukan path sistem file. Pada katalog Hive atau filesystem tradisional,warehousemengarah ke path penyimpanan sepertihdfs:///path/to/warehouse. Dengan DLF REST Catalog, nilai ini harus berupa nama instans katalog — misalnya,dlf_test.
Tabel berikut menjelaskan setiap parameter.
| Parameter | Description | Required | Example |
|---|---|---|---|
connector.name | Jenis konektor. Atur nilai ini menjadi paimon. | Yes | paimon-1-ali-11.0 |
warehouse | Nama instans katalog DLF. | Yes | dlf_test |
metastore | Jenis metastore. Atur nilai ini menjadi rest. | Yes | rest |
token.provider | Penyedia token. Atur nilai ini menjadi dlf. | Yes | dlf |
uri | URI server DLF REST Catalog. Formatnya adalah http://[region-id]-vpc.dlf.aliyuncs.com. Untuk daftar ID wilayah, lihat Endpoints. | Yes | http://cn-hangzhou-vpc.dlf.aliyuncs.com |
dlf.token-loader | Melakukan autentikasi menggunakan token temporary yang dikeluarkan oleh role instans ECS. Atur nilai ini menjadi ecs. Pendekatan ini direkomendasikan untuk penerapan EMR-on-ECS karena role instans ECS sudah disambungkan ke node EMR, sehingga tidak perlu mengelola kredensial AccessKey. | Yes | ecs |
Setelah menyimpan konfigurasi, restart layanan Trino agar perubahan diterapkan.
Baca tabel Paimon dengan Trino
Masuk ke command-line interface (CLI) Trino.
sh /opt/apps/TRINO/trino-current/bin/trino --server master-1-1:9090Kueri tabel dari katalog DLF. Contoh berikut membaca dari
users_samples, yaitu tabel yang sudah ada di katalog.select * from paimon.default.users_samples;