Anda dapat membuat node E-MapReduce (EMR) Hive untuk membaca, menulis, dan mengelola set data besar yang disimpan di sistem terdistribusi menggunakan pernyataan mirip SQL. Fitur ini sangat ideal untuk menganalisis volume log besar dan menjalankan pekerjaan pengembangan terkait.
Prasyarat
Kluster Alibaba Cloud EMR telah dibuat dan didaftarkan ke DataWorks. Untuk informasi selengkapnya, lihat Data Studio (legacy): Daftarkan kluster EMR.
(Wajib jika Anda menggunakan RAM user untuk mengembangkan task) RAM user telah ditambahkan ke ruang kerja DataWorks sebagai anggota dan diberi peran Develop atau Workspace Administrator. Peran Workspace Administrator memiliki izin lebih luas daripada yang diperlukan. Berhati-hatilah saat memberikan peran ini. Untuk informasi selengkapnya tentang cara menambahkan anggota, lihat Tambahkan anggota ke ruang kerja.
Grup sumber daya serverless telah dibeli dan dikonfigurasi, termasuk asosiasi dengan ruang kerja dan konfigurasi jaringan. Untuk informasi selengkapnya, lihat Buat dan gunakan grup sumber daya serverless.
Alur kerja telah dibuat di DataStudio.
Pengembangan task pada berbagai jenis mesin komputasi dilakukan berdasarkan alur kerja di DataStudio. Oleh karena itu, sebelum membuat node, Anda harus membuat alur kerja terlebih dahulu. Untuk informasi selengkapnya, lihat Buat alur kerja.
Batasan
-
Node EMR Hive hanya dapat dijalankan pada grup sumber daya serverless (disarankan) atau grup sumber daya eksklusif untuk penjadwalan.
-
Untuk mengelola metadata kluster DataLake atau kluster kustom di DataWorks, Anda harus mengonfigurasi EMR-HOOK pada kluster tersebut. Tanpa konfigurasi ini, DataWorks tidak dapat menampilkan metadata secara real-time, menghasilkan log audit, menampilkan alur data, atau menjalankan tugas tata kelola terkait EMR. Untuk petunjuknya, lihat Konfigurasikan EMR-HOOK untuk Hive.
Langkah 1: Buat node EMR Hive
Masuk ke Konsol DataWorks. Di wilayah target, klik di panel navigasi kiri. Pilih ruang kerja dari daftar drop-down dan klik Go to Data Development.
-
Buat node EMR Hive.
-
Klik kanan alur kerja target dan pilih .
CatatanAnda juga dapat mengarahkan kursor ke Create dan pilih .
-
Pada kotak dialog Create Node, masukkan Name dan pilih Engine Instance, Node Type, dan Path. Klik Confirm untuk membuka halaman pengeditan node.
CatatanNama node dapat berisi huruf kapital, huruf kecil, karakter Tionghoa, angka, garis bawah (_), dan titik (.).
-
Langkah 2: Kembangkan task EMR Hive
Di halaman pengeditan node EMR Hive, klik ganda node yang telah Anda buat untuk membuka halaman pengembangan task. Kemudian, ikuti langkah-langkah berikut.
Tulis kode SQL
Di editor SQL, tulis kode task. Anda dapat mendefinisikan variabel dalam kode menggunakan format ${variable_name} dan memberikan nilai pada bagian Scheduling > Scheduling Parameter di panel kanan. Hal ini memungkinkan pengiriman parameter dinamis untuk eksekusi terjadwal. Untuk informasi selengkapnya tentang format yang didukung, lihat Format yang didukung untuk parameter penjadwalan. Contoh kode berikut disediakan:
show tables;
select '${var}'; -- Anda dapat menggunakan ini dengan parameter penjadwalan.
select * from userinfo;
-
Total ukuran pernyataan SQL tidak boleh melebihi 130 KB.
-
Jika beberapa mesin komputasi EMR dikaitkan dengan ruang kerja Anda di DataStudio, pilih mesin komputasi yang sesuai berdasarkan kebutuhan bisnis Anda. Jika hanya satu mesin komputasi EMR yang dikaitkan, pemilihan tidak diperlukan.
-
Untuk mengubah penugasan parameter dalam kode Anda, klik Advanced Run di bilah alat. Untuk informasi selengkapnya tentang logika penugasan parameter, lihat Perbedaan logika penugasan parameter antara Run, Run with Parameters, dan smoke testing.
(Opsional) Konfigurasikan parameter lanjutan
Anda dapat mengonfigurasi properti khusus node di bagian Advanced Settings. Untuk informasi selengkapnya tentang pengaturan yang tersedia, lihat Spark Configuration. Parameter lanjutan yang tersedia bervariasi tergantung jenis kluster EMR, seperti yang ditunjukkan pada tabel berikut.
Kluster DataLake dan kustom
|
Parameter |
Description |
|
queue |
Antrian penjadwalan untuk pengiriman job. Antrian default adalah default. Untuk informasi selengkapnya tentang YARN di E-MapReduce, lihat Basic queue configurations. |
|
priority |
Menentukan prioritas job. Nilai default adalah 1. |
|
FLOW_SKIP_SQL_ANALYZE |
Mengontrol cara pernyataan SQL dieksekusi. Nilai yang valid:
Catatan
Parameter ini hanya tersedia untuk pengujian alur kerja di lingkungan pengembangan. |
|
DATAWORKS_SESSION_DISABLE |
Berlaku untuk pengujian langsung di lingkungan pengembangan. Nilai yang valid:
Catatan
Saat parameter ini diatur ke |
|
Others |
Anda juga dapat menambahkan parameter koneksi Hive kustom di pengaturan lanjutan. |
Kluster Hadoop
|
Parameter |
Description |
|
queue |
Antrian penjadwalan untuk pengiriman job. Antrian default adalah default. Untuk informasi selengkapnya tentang YARN di E-MapReduce, lihat Basic queue configurations. |
|
priority |
Menentukan prioritas job. Nilai default adalah 1. |
|
FLOW_SKIP_SQL_ANALYZE |
Mengontrol cara pernyataan SQL dieksekusi. Nilai yang valid:
Catatan
Parameter ini hanya tersedia untuk pengujian alur kerja di lingkungan pengembangan. |
|
USE_GATEWAY |
Menentukan apakah job akan dikirim dari node ini melalui kluster gateway. Nilai yang valid:
Catatan
Jika kluster node tidak dikaitkan dengan kluster gateway, mengatur parameter ini ke |
Jalankan Tugas SQL
-
Di bilah alat, klik ikon
. Di kotak dialog Parameter, pilih grup sumber daya penjadwalan yang telah Anda buat dan klik Running.Catatan-
Untuk mengakses mesin komputasi di internet publik atau di VPC, gunakan grup sumber daya penjadwalan yang dapat terhubung ke mesin tersebut. Untuk informasi selengkapnya, lihat Network connection solutions.
-
Untuk beralih ke grup sumber daya lain untuk eksekusi berikutnya, klik ikon Run with Parameters
dan pilih grup sumber daya penjadwalan lain. -
Saat melakukan kueri data menggunakan node EMR Hive, hasil kueri dibatasi hingga 10.000 record dengan ukuran total maksimal 10 MB.
-
-
Klik ikon
untuk menyimpan pernyataan SQL. -
(Opsional) Lakukan pengujian asap.
Jika ingin melakukan pengujian asap di lingkungan pengembangan, Anda dapat menjalankannya sebelum atau setelah mengirimkan node. Untuk informasi selengkapnya, lihat Lakukan pengujian asap.
Langkah 3: Konfigurasikan properti penjadwalan
Jika ingin sistem menjalankan task pada node secara berkala, klik Properties di panel navigasi kanan pada tab konfigurasi node untuk mengonfigurasi properti penjadwalan task sesuai kebutuhan bisnis Anda. Untuk informasi selengkapnya, lihat Ikhtisar.
Anda harus mengonfigurasi parameter Rerun dan Parent Nodes pada tab Properties sebelum mengirimkan task.
Langkah 4: Deploy task
Setelah task pada node dikonfigurasi, Anda harus mengirim dan mendeploy task tersebut. Setelah task dikirim dan dideploy, sistem akan menjalankannya secara berkala berdasarkan konfigurasi penjadwalan.
-
Klik ikon
di bilah alat atas untuk menyimpan task. -
Klik ikon
di bilah alat atas untuk mengirim task.Pada kotak dialog Submit, konfigurasikan parameter Change description. Kemudian, tentukan apakah akan melakukan tinjauan kode task setelah pengiriman berdasarkan kebutuhan bisnis Anda.
Catatan-
Anda harus mengonfigurasi parameter Rerun dan Parent Nodes pada tab Properties sebelum mengirimkan task.
-
Fitur tinjauan kode dapat digunakan untuk memastikan kualitas kode task dan mencegah error eksekusi akibat kode yang tidak valid. Jika fitur ini diaktifkan, kode task yang dikirim hanya dapat dideploy setelah melewati tinjauan kode. Untuk informasi selengkapnya, lihat Tinjauan kode.
-
Jika Anda menggunakan ruang kerja dalam mode standar, Anda harus mendeploy task di lingkungan produksi setelah mengirimkannya. Untuk mendeploy task pada node, klik Deploy di pojok kanan atas tab konfigurasi node. Untuk informasi selengkapnya, lihat Deploy node.
Operasi tambahan
Setelah task dikirim dan dideploy, task tersebut akan dijalankan secara berkala berdasarkan konfigurasi penjadwalan. Anda dapat mengklik Operation Center di pojok kanan atas tab konfigurasi node terkait untuk membuka Operation Center dan melihat status penjadwalan task. Untuk informasi selengkapnya, lihat Kelola task terjadwal.
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 grup 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.