Topik ini menjelaskan cara menghubungkan Serverless StarRocks ke Katalog Data Lake Formation (DLF) menggunakan Iceberg REST.
Hubungkan Serverless StarRocks ke Data Lake Formation (DLF) menggunakan protokol Iceberg REST agar StarRocks dapat melakukan kueri langsung terhadap tabel Iceberg yang disimpan di DLF.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Instans Serverless StarRocks yang menjalankan versi 3.3.20-2.0.0 atau lebih baru. Lihat Buat instans dan Catatan rilis EMR StarRocks.
Katalog DLF telah dibuat.
Siapkan kontrol akses
DLF menggunakan Resource Access Management (RAM) untuk kontrol akses. Secara default, pengguna StarRocks tidak memiliki akses ke DLF. Untuk memberikan akses, buat RAM user yang bertindak sebagai identitas StarRocks saat terhubung ke DLF, berikan izin data kepada pengguna tersebut di Konsol DLF, lalu petakan ke pengguna StarRocks.
Langkah 1: Buat atau pilih RAM user
-
Masuk ke Konsol RAM sebagai pemilik Akun Alibaba Cloud atau administrator RAM.
-
Buat RAM user atau pilih yang sudah ada.
Nama RAM user hanya boleh berisi huruf, angka, dan garis bawah (
_) agar sesuai dengan konvensi penamaan StarRocks.
Langkah 2: Berikan izin data di DLF
-
Masuk ke Konsol DLF.
-
Buka katalog Paimon Anda.
-
Pada tab Permissions, klik Grant Permissions dan berikan izin akses data yang diperlukan pada katalog Anda kepada RAM user tersebut. Untuk informasi selengkapnya, lihat Kelola izin data.

Langkah 3: Buat dan konfigurasikan pengguna StarRocks
-
Klik Connect pada kolom Actions instans StarRocks Anda. Untuk informasi selengkapnya, lihat Gunakan EMR StarRocks Manager untuk terhubung ke instans EMR Serverless StarRocks.
Lakukan koneksi dengan pengguna
adminatau pengguna administratif lainnya. -
Di StarRocks Manager, buka Security Center > User Management dan klik Create User.
-
Pada dialog Create User, konfigurasikan pengaturan berikut lalu klik OK:
Field Value User Source Pilih RAM User Username Pilih RAM user yang Anda buat pada langkah 1 Password Tetapkan password untuk pengguna StarRocks ini Role Default adalah public -
Berikan hak istimewa StarRocks kepada pengguna baru:
-
Pada halaman User Management, temukan pengguna baru tersebut dan klik Add Permission pada kolom Actions.
-
Pada tab Permissions, klik Add Permission.
-
Pada panel Add Permission, atur Resource dan Permission sesuai kebutuhan, lalu klik OK.
Tindakan ini memberikan akses pengguna ke sumber daya internal StarRocks. Untuk mengubah izin pada katalog DLF Anda, buka Konsol DLF.
-
Langkah 4: Verifikasi pemetaan pengguna (opsional)
Pengguna StarRocks dipetakan ke RAM user dalam waktu 10 hingga 20 detik. Untuk memverifikasi pemetaan tersebut:
-
Masuk ke StarRocks Manager dengan pengguna StarRocks baru tersebut.
-
Di halaman Queries, klik ikon
untuk membuat kueri SQL. -
Jalankan perintah berikut:
show property;Jika ID RAM user muncul dalam output, pemetaan telah aktif:

Buat katalog
Semua tabel yang dibuat dalam Katalog DLF menggunakan Iceberg REST adalah tabel Apache Iceberg.
Masuk ke StarRocks Manager sebagai RAM user, lalu jalankan SQL berikut untuk membuat katalog eksternal yang mengarah ke Katalog DLF Anda.
Pada halaman Queries, klik ikon
untuk membuat kueri SQL.Masukkan pernyataan berikut lalu klik Run:
Parameter koneksi
Parameter
Wajib
Deskripsi
Contoh
typeYa
Jenis katalog StarRocks. Atur ke
iceberg.iceberguriYa
URI titik akhir katalog REST DLF. Untuk daftar titik akhir berdasarkan wilayah, lihat Iceberg REST.
http://cn-hangzhou-vpc.dlf.aliyuncs.com/icebergiceberg.catalog.typeYa
Jenis implementasi katalog. Atur ke
dlf_restuntuk DLF.dlf_restwarehouseYa
Nama Katalog DLF.
iceberg_testParameter autentikasi
Parameter
Wajib
Deskripsi
Contoh
rest.signing-regionYa
ID wilayah layanan DLF. Untuk daftar ID wilayah, lihat Titik akhir layanan.
cn-hangzhouCREATE EXTERNAL CATALOG iceberg_catalog PROPERTIES ( "type" = "iceberg", "uri" = "http://cn-hangzhou-vpc.dlf.aliyuncs.com/iceberg", "iceberg.catalog.type" = "dlf_rest", "warehouse" = "iceberg_test", "rest.signing-region" = "cn-hangzhou" );Lakukan kueri terhadap tabel Iceberg dalam katalog:
SELECT * FROM catalog_name.database_name.table_name;