Trino adalah mesin kueri SQL terdistribusi open-source yang dirancang untuk analitik interaktif di berbagai sumber data. Anda dapat mengonfigurasi node E-MapReduce (EMR) Trino untuk melakukan agregasi dan pelaporan data multi-dimensi berskala besar.
Prasyarat
-
Buat kluster Alibaba Cloud EMR dan daftarkan ke DataWorks. Untuk informasi selengkapnya, lihat Data Studio Baru: Lampirkan resource komputasi EMR.
-
(Opsional, untuk pengguna RAM) Pengguna Resource Access Management (RAM) untuk pengembangan task harus ditambahkan ke ruang kerja dan diberi peran Development atau Workspace Administrator (peran ini mencakup izin yang luas dan harus diberikan dengan hati-hati). Untuk informasi selengkapnya, lihat Tambahkan anggota ruang kerja.
Jika Anda menggunakan akun root, lewati langkah ini.
Batasan
-
Node EMR Trino hanya dapat dijalankan pada kelompok sumber daya arsitektur tanpa server.
-
Untuk mengelola metadata untuk data lake atau kluster kustom di DataWorks, Anda harus terlebih dahulu mengonfigurasi EMR-HOOK pada kluster tersebut. Untuk detailnya, lihat Konfigurasi EMR-HOOK untuk Hive.
CatatanJika EMR-HOOK tidak dikonfigurasi pada kluster, DataWorks tidak dapat menampilkan metadata secara real-time, menghasilkan log audit, menampilkan alur data, atau menjalankan tugas tata kelola terkait EMR.
-
Jika otentikasi Lightweight Directory Access Protocol (LDAP) diaktifkan untuk Trino, login ke node master EMR untuk mengunduh file keystore dari direktori
/etc/taihao-apps/trino-conf. Login ke Konsol DataWorks. Di bilah navigasi atas, pilih wilayah target, temukan ruang kerja Anda, lalu klik Operation di kolom Management untuk membuka Management Center. Di panel navigasi kiri, pilih Compute Resource. Temukan Account Mapping untuk kluster EMR Anda dan klik Edit Account Mapping. Pada halaman yang muncul, klik Upload Keystore File untuk mengunggah file tersebut.
Prosedur
-
Pada halaman pengeditan node EMR Trino, ikuti langkah-langkah berikut.
Konfigurasikan konektor
-
Sebelum mengkueri tabel MySQL, konfigurasikan konektor EMR Trino bawaan untuk MySQL. Untuk detailnya, lihat MySQL Connector.
-
Sebelum mengkueri tabel Hive, konfigurasikan konektor EMR Trino bawaan untuk Hive. Untuk detailnya, lihat Hive Connector.
-
Untuk mengkueri tabel dari sumber data lain, lihat Konfigurasi konektor.
Edit kode SQL
Di editor SQL, tulis kode task Anda. Anda dapat mendefinisikan variabel dengan menggunakan format ${variable_name}. Di panel Scheduling Settings di sebelah kanan, Anda dapat memberikan nilai pada variabel di bagian Scheduling Parameters. Hal ini memungkinkan Anda untuk secara dinamis pass parameter selama eksekusi terjadwal. Untuk informasi lebih lanjut tentang parameter penjadwalan, lihat Sumber dan ekspresi parameter penjadwalan. Kode berikut memberikan contoh.
-- Penggunaan -- SELECT * FROM <catalog>.<schema>.<table>; -- Penjelasan parameter -- <catalog>: Nama sumber data yang akan dihubungkan. -- <schema>: Nama database yang digunakan. -- <table>: Tabel yang akan dikueri. -- Contoh: Mengkueri data dari tabel hive_table di database default dari sumber data Hive. -- Mengkueri tabel Hive SELECT * FROM hive.default.hive_table; -- Contoh: Mengkueri data dari tabel rt_user di database rt_data kustom dari sumber data MySQL. -- Mengkueri tabel MySQL SELECT * FROM mysql.rt_data.rt_user; -- Gabungkan tabel Hive dan tabel MySQL SELECT DISTINCT a.id, a.name,b.rt_name FROM hive.default.hive_table a INNER JOIN mysql.rt_data.rt_user b ON a.id = b.id; -- Mengkueri tabel Hive menggunakan parameter penjadwalan SELECT * FROM hive.default.${table_name};(Opsional) Konfigurasikan parameter lanjutan
Di sisi kanan halaman pengeditan node, pada panel Scheduling Settings, Anda dapat mengonfigurasi properti berikut di bawah .
CatatanAnda dapat mengonfigurasi properti Spark open-source di bawah di panel Scheduling Settings di sebelah kanan.
Parameter
Deskripsi
FLOW_SKIP_SQL_ANALYZE
Menentukan cara pernyataan SQL dieksekusi. Nilai yang valid:
-
true: Mengeksekusi beberapa pernyataan SQL sekaligus. -
false(default): Mengeksekusi satu pernyataan SQL dalam satu waktu.
DATAWORKS_SESSION_DISABLE
Mengontrol penggunaan ulang koneksi JDBC saat Anda menjalankan pengujian di lingkungan pengembangan. Nilai yang valid:
-
true: Membuat koneksi JDBC baru untuk setiap eksekusi pernyataan SQL. -
false(default): Menggunakan kembali koneksi JDBC yang sama untuk pernyataan SQL berbeda yang dijalankan dalam satu node.
Jalankan tugas SQL
-
Di panel Run Configuration, di bawah Compute Resource, pilih Compute Resource dan DataWorks Resource Group.
Catatan-
Anda juga dapat menyesuaikan CUs for Scheduling berdasarkan sumber daya yang dibutuhkan oleh task. Nilai default-nya adalah
0.25. -
Untuk mengakses sumber data melalui internet publik atau di Virtual Private Cloud (VPC), Anda harus menggunakan kelompok sumber daya penjadwalan yang telah lulus uji konektivitas ke sumber data tersebut. Untuk detailnya, lihat Solusi Konektivitas Jaringan.
-
-
Di kotak dialog parameter pada bilah alat, pilih sumber data dan klik Run untuk menjalankan task SQL.
CatatanHasil kueri dari node EMR Trino dibatasi hingga 10.000 baris dan 10 MB.
-
-
Untuk menjalankan task node secara berkala, konfigurasikan properti penjadwalannya sesuai kebutuhan bisnis Anda. Untuk detailnya, lihat Konfigurasi Penjadwalan Node.
-
Setelah mengonfigurasi node, Anda harus memublikasikannya. Untuk detailnya, lihat Publikasikan Node atau Alur Kerja.
-
Setelah task dipublikasikan, Anda dapat melihat status operasionalnya di Operation Center. Untuk detailnya, lihat Memulai Operation Center.
FAQ
-
T: Terjadi timeout koneksi saat saya menjalankan node. Mengapa?
EMR execute task failed! SQL: {"name":"dw20251018","type":"TRINO_SQL","launcher":{"allocationSpec":{}},"properties":{"envs":{"FLOW_SKIP_SQL_ANALYZE":false},"arguments":["select * from default.dim_customers;"],"tags":[]},"description":"DataWorks"} TASK-MESSAGE: FAILED: Error executing queryJ: Pastikan kelompok sumber daya dan kluster dapat saling terhubung melalui jaringan. Buka daftar resource komputasi dan klik Resource Initialization. Di kotak dialog yang muncul, klik Re-initialize. Verifikasi bahwa inisialisasi berhasil.
Kotak dialog menampilkan pesan berikut di bagian atas: Jika ini pertama kalinya Anda mengikat kluster atau jika konfigurasi layanan kluster (misalnya, file hive-site) telah berubah, inisialisasi kelompok sumber daya. Jika tidak, task mungkin gagal dijalankan.