Node E-MapReduce (EMR) Hive di DataWorks mendukung analisis batch data skala besar yang disimpan dalam sistem terdistribusi. Node ini menyederhanakan pemrosesan big data dan meningkatkan efisiensi pengembangan. Di node EMR Hive, Anda dapat menggunakan pernyataan bergaya SQL untuk membaca, menulis, dan mengelola dataset berukuran besar, sehingga memungkinkan analisis efisien terhadap data log dalam volume besar serta penyelesaian tugas pengembangan.
Prasyarat
-
Buat kluster Alibaba Cloud EMR dan daftarkan ke DataWorks. Untuk informasi selengkapnya, lihat Data Studio Baru: Lampirkan sumber daya komputasi EMR.
-
(Opsional, untuk pengguna RAM) Pengguna Resource Access Management (RAM) untuk pengembangan tugas 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.
-
Konfigurasikan sumber data Hive di DataWorks dan pastikan lulus uji konektivitas. Untuk informasi selengkapnya, lihat Manajemen Sumber Data.
Batasan
-
Jenis tugas ini hanya dapat dijalankan pada kelompok sumber daya Serverless (disarankan) atau kelompok sumber daya eksklusif untuk penjadwalan.
-
Untuk mengelola metadata DataLake atau kluster kustom di DataWorks, Anda harus terlebih dahulu mengonfigurasi EMR-HOOK pada kluster tersebut. Untuk informasi selengkapnya tentang cara mengonfigurasi EMR-HOOK, lihat Konfigurasi EMR-HOOK untuk Hive.
CatatanJika Anda tidak mengonfigurasi EMR-HOOK pada kluster, DataWorks tidak dapat menampilkan metadata secara real time, menghasilkan log audit, menampilkan alur data, atau menjalankan tugas administrasi terkait EMR.
Langkah 1: Kembangkan node EMR Hive
Anda dapat mengembangkan node pada halaman pengeditan node EMR Hive.
Kembangkan kode SQL
Tulis kode untuk tugas Anda di area pengeditan SQL. Anda dapat mendefinisikan variabel dalam kode menggunakan format ${variable_name} dan memberikan nilai untuk setiap variabel di bagian Scheduling Parameters di bawah Scheduling Settings di sisi kanan halaman pengeditan node. Hal ini memungkinkan Anda meneruskan parameter secara dinamis ke kode dalam skenario penjadwalan. Untuk informasi selengkapnya tentang parameter penjadwalan, lihat Sumber dan Ekspresi Parameter Penjadwalan. Berikut contohnya.
SHOW TABLES ;
SELECT '${var}'; --Gunakan bersama parameter penjadwalan.
SELECT * FROM userinfo ;
Ukuran maksimum pernyataan SQL adalah 130 KB.
Langkah 2: Konfigurasikan node EMR Hive
(Opsional) Konfigurasikan parameter lanjutan
Anda dapat mengonfigurasi parameter properti yang tercantum dalam tabel berikut di bagian Scheduling Settings, yang berada di sisi kanan node, di bawah .
-
Parameter lanjutan yang tersedia bervariasi tergantung pada jenis kluster EMR, seperti yang ditunjukkan dalam tabel berikut.
-
Anda dapat mengonfigurasi lebih banyak properti Spark open-source di bagian Scheduling Settings di sisi kanan node, di bawah .
Kluster DataLake/Kluster kustom: EMR on ECS
|
Parameter lanjutan |
Deskripsi |
|
queue |
Antrian penjadwalan tempat pekerjaan dikirimkan. Antrian default adalah `default`. Untuk informasi selengkapnya tentang EMR YARN, lihat Konfigurasi antrian dasar. |
|
priority |
Prioritas. Nilai default adalah 1. |
|
FLOW_SKIP_SQL_ANALYZE |
Mode eksekusi untuk pernyataan SQL. Nilai yang valid:
Catatan
Parameter ini hanya didukung untuk pengujian di lingkungan pengembangan. |
|
DATAWORKS_SESSION_DISABLE |
Berlaku untuk skenario pengujian di lingkungan pengembangan. Nilai yang valid:
Catatan
Jika parameter ini diatur ke |
|
Other |
Anda juga dapat menambahkan parameter koneksi Hive kustom di bagian konfigurasi lanjutan. |
Kluster Hadoop: EMR on ECS
|
Parameter lanjutan |
Deskripsi |
|
queue |
Antrian penjadwalan tempat pekerjaan dikirimkan. Antrian default adalah `default`. Untuk informasi selengkapnya tentang EMR YARN, lihat Konfigurasi antrian dasar. |
|
priority |
Prioritas. Nilai default adalah 1. |
|
FLOW_SKIP_SQL_ANALYZE |
Mode eksekusi untuk pernyataan SQL. Nilai yang valid:
Catatan
Parameter ini hanya didukung untuk pengujian di lingkungan pengembangan. |
|
USE_GATEWAY |
Menentukan apakah pekerjaan untuk node ini dikirimkan melalui kluster gateway. Nilai yang valid:
Catatan
Jika kluster tempat node ini berada tidak dikaitkan dengan kluster gateway, dan Anda secara manual mengatur parameter ini ke |
Untuk menjalankan tugas node sesuai jadwal, Anda harus mengonfigurasi properti penjadwalannya. Untuk informasi selengkapnya, lihat Konfigurasi penjadwalan node.
Langkah 3: Jalankan dan debug node
Eksekusi tugas SQL
-
Di Run Configuration, di bawah Compute Resource, Anda dapat mengonfigurasi Compute Resource dan Resource Group.
Catatan-
Anda juga dapat mengatur CUs for Scheduling berdasarkan sumber daya yang diperlukan untuk eksekusi tugas. Nilai default adalah
0.25. -
Untuk mengakses sumber data di internet publik atau di VPC, Anda harus menggunakan kelompok sumber daya penjadwalan yang telah lulus uji konektivitas untuk sumber data tersebut. Untuk informasi selengkapnya, lihat Solusi konektivitas jaringan.
-
-
Di kotak dialog parameter pada bilah alat, pilih sumber data Hive yang telah Anda buat dan klik Run untuk mengeksekusi tugas SQL.
CatatanSaat Anda melakukan kueri data dari node EMR Hive, hasil kueri dibatasi hingga
10000catatan dan ukuran total data sebesar10 MB. -
Anda dapat menyimpan tugas node dengan mengklik Save.
Langkah berikutnya
-
Setelah mengonfigurasi node, Anda harus memublikasikannya. Untuk informasi selengkapnya, lihat Publikasikan node atau alur kerja.
-
Setelah tugas dipublikasikan, Anda dapat melihat status tugas yang dipicu otomatis di Operation Center. Untuk informasi selengkapnya, lihat Memulai Operation Center.
FAQ
T: Mengapa terjadi timeout koneksi (ConnectException) saat saya menjalankan node?
EMR execute task failed!
SQL: {"name":"dw20251018","type":"HIVE_SQL","launcher":{"allocationSpec":{}},"properties":{"envs":{"FLOW_SKIP_SQL_ANALYZE":false},"arguments":["select * from default.dim_customers"],"tags":[],"description":"DataWorks"}}
TASK-MESSAGE:
FAILED: Build connection error! Could not open client transport with JDBC Uri: jdbc:hive2://xxx:10000: java.net.ConnectException: Connection timed out
J: Pastikan kelompok sumber daya dan kluster dapat saling terhubung melalui jaringan. Buka daftar sumber daya komputasi dan klik Resource Initialization. Di kotak dialog yang muncul, klik Re-initialize. Verifikasi bahwa inisialisasi berhasil.