Impala adalah mesin kueri SQL interaktif untuk menjalankan kueri cepat dan real-time pada data besar berskala petabyte. Topik ini menjelaskan cara membuat node EMR Impala di DataWorks dan menggunakannya untuk pengembangan data.
Prasyarat
Kluster Alibaba Cloud EMR telah dibuat dan didaftarkan ke DataWorks. Untuk informasi selengkapnya, lihat Data Studio (legacy): Daftarkan kluster EMR.
(Diperlukan 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 lebih banyak izin 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. Konfigurasi tersebut mencakup asosiasi dengan ruang kerja dan konfigurasi jaringan. Untuk informasi selengkapnya, lihat Buat dan gunakan grup sumber daya serverless.
Alur kerja telah dibuat di DataStudio.
Operasi pengembangan pada berbagai jenis mesin komputasi dilakukan berdasarkan alur kerja di DataStudio. Oleh karena itu, sebelum membuat node, Anda harus terlebih dahulu membuat alur kerja. Untuk informasi selengkapnya, lihat Buat alur kerja.
Batasan
Jenis task ini hanya dapat dijalankan pada Grup sumber daya serverless (disarankan) atau grup sumber daya eksklusif untuk penjadwalan.
EMR Impala hanya berjalan pada sumber daya komputasi tipe kluster data lake (Hadoop) lama. DataWorks tidak lagi mendukung pengikatan kluster tipe Hadoop baru, tetapi Anda masih dapat terus menggunakan kluster Hadoop yang sebelumnya telah dikaitkan.
Langkah 1: Buat node EMR Impala
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 Impala.
Klik kanan alur bisnis target dan pilih .
CatatanAnda juga dapat mengarahkan kursor ke Create dan memilih .
Pada kotak dialog Create Node, masukkan Name dan pilih Engine Instance, Node Type, dan Path. Klik OK untuk membuka tab konfigurasi node EMR Impala.
CatatanNama node dapat berisi huruf kapital, huruf kecil, angka, garis bawah (_), dan titik (.).
Langkah 2: Kembangkan task EMR Impala
Pada tab konfigurasi node EMR Impala, klik ganda node yang telah Anda buat untuk membuka tab pengembangan task dan lakukan operasi berikut.
Kembangkan kode SQL
Kembangkan kode task Anda di editor SQL. Anda dapat mendefinisikan variabel dalam format ${variable_name} dan memberikan nilai pada bagian Scheduling Configuration > Scheduling Parameter di panel navigasi kanan. Hal ini memungkinkan penerusan parameter secara dinamis dalam skenario terjadwal. Untuk informasi selengkapnya tentang format parameter penjadwalan yang didukung, lihat Format parameter penjadwalan. Kode berikut merupakan contohnya.
show tables;
CREATE TABLE IF NOT EXISTS userinfo (
ip STRING COMMENT'IP address',
uid STRING COMMENT'User ID'
)PARTITIONED BY(
dt STRING
);
ALTER TABLE userinfo ADD IF NOT EXISTS PARTITION(dt='${bizdate}'); -- Anda dapat menggunakan parameter penjadwalan.
select * from userinfo ;Ukuran maksimum pernyataan SQL adalah 130 KB.
Jika beberapa sumber daya komputasi EMR dikaitkan dengan ruang kerja, Anda harus memilih sumber daya komputasi yang sesuai berdasarkan kebutuhan bisnis Anda. Jika hanya satu sumber daya komputasi EMR yang dikaitkan, Anda tidak perlu melakukan pemilihan.
Jika Anda perlu mengubah nilai parameter untuk suatu eksekusi, klik Advanced Run di bilah alat. Untuk informasi selengkapnya tentang logika pemberian nilai parameter, lihat Bagaimana perbedaan logika pemberian nilai antara Run, Run with Parameters, dan smoke test di lingkungan pengembangan?
(Opsional) Konfigurasikan parameter lanjutan
Anda dapat mengonfigurasi properti khusus node pada bagian Advanced Settings. Untuk informasi selengkapnya tentang properti Spark, lihat Spark Configuration. Pengaturan lanjutan yang tersedia bervariasi tergantung pada tipe kluster EMR. Tabel berikut menjelaskan pengaturan tersebut.
Kluster Data Lake/Kustom
Parameter | Deskripsi |
FLOW_SKIP_SQL_ANALYZE | Menentukan mode eksekusi pernyataan SQL. Nilai yang valid:
Catatan Pengaturan ini hanya berlaku untuk eksekusi uji di lingkungan pengembangan. |
DATAWORKS_SESSION_DISABLE | Pengaturan ini berlaku untuk eksekusi uji di lingkungan pengembangan. Nilai yang valid:
Catatan Mengatur parameter ini ke |
Kluster Hadoop
Parameter | Deskripsi |
FLOW_SKIP_SQL_ANALYZE | Menentukan mode eksekusi pernyataan SQL. Nilai yang valid:
Catatan Pengaturan ini hanya berlaku untuk eksekusi uji di lingkungan pengembangan. |
USE_GATEWAY | Menentukan apakah pekerjaan akan dikirim melalui kluster gateway. Nilai yang valid:
Catatan Jika kluster node tidak dikaitkan dengan kluster gateway dan Anda mengatur pengaturan ini ke |
Jalankan tugas SQL
Di bilah alat, klik ikon
. Pada kotak dialog Parameter, pilih grup sumber daya penjadwalan dan klik Running.CatatanUntuk mengakses sumber daya komputasi di jaringan publik atau VPC, Anda harus menggunakan grup sumber daya penjadwalan yang memiliki konektivitas jaringan ke sumber daya komputasi tersebut. Untuk informasi selengkapnya, lihat Solusi konektivitas jaringan.
Untuk mengubah grup sumber daya untuk eksekusi berikutnya, klik ikon Run with Parameters
dan pilih yang berbeda.
Klik ikon
untuk menyimpan pernyataan SQL.(Opsional) Lakukan smoke test.
Jika Anda ingin menjalankan smoke test di lingkungan pengembangan, Anda dapat melakukannya selama proses commit atau setelah node di-commit. Untuk informasi selengkapnya, lihat Lakukan smoke test.
(Opsional) Lihat alur data
Untuk menampilkan alur data tingkat tabel dan tingkat bidang untuk task EMR Impala di Data Map, Anda harus terlebih dahulu mengaktifkan log alur data Impala pada kluster EMR. Fitur ini hanya didukung untuk kluster data lake EMR yang menggunakan metadata Hive Metastore (HMS) atau Data Lake Formation (DLF). Untuk informasi selengkapnya tentang konfigurasi, lihat Analisis alur data.
Fitur ini saat ini dalam tahap pratinjau. Untuk menggunakannya, kirim tiket atau hubungi dukungan teknis Alibaba Cloud.
Langkah 3: Konfigurasikan properti penjadwalan
Jika Anda ingin sistem menjalankan task pada node secara berkala, Anda dapat mengklik 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 melakukan commit task.
Langkah 4: Deploy task
Setelah task pada node dikonfigurasi, Anda harus melakukan commit dan deploy task tersebut. Setelah task di-commit dan di-deploy, sistem akan menjalankan task tersebut secara berkala berdasarkan konfigurasi penjadwalan.
-
Klik ikon
di bilah alat atas untuk menyimpan task. -
Klik ikon
di bilah alat atas untuk melakukan commit task.Pada kotak dialog Submit, konfigurasikan parameter Change description. Kemudian, tentukan apakah akan melakukan tinjauan kode task setelah commit berdasarkan kebutuhan bisnis Anda.
Catatan-
Anda harus mengonfigurasi parameter Rerun dan Parent Nodes pada tab Properties sebelum melakukan commit task.
-
Anda dapat menggunakan fitur tinjauan kode untuk memastikan kualitas kode task dan mencegah error eksekusi task yang disebabkan oleh kode task yang tidak valid. Jika Anda mengaktifkan fitur tinjauan kode, kode task yang di-commit hanya dapat di-deploy setelah melewati tinjauan kode. Untuk informasi selengkapnya, lihat Tinjauan kode.
-
Jika Anda menggunakan ruang kerja dalam mode standar, Anda harus melakukan deploy task di lingkungan produksi setelah melakukan commit task. Untuk melakukan deploy task pada node, klik Deploy di pojok kanan atas tab konfigurasi node. Untuk informasi selengkapnya, lihat Deploy node.
Operasi tambahan
Setelah Anda melakukan commit dan deploy task, task tersebut akan dijalankan secara berkala berdasarkan konfigurasi penjadwalan. Anda dapat mengklik Operation Center di pojok kanan atas tab konfigurasi node yang sesuai untuk membuka Operation Center dan melihat status penjadwalan task tersebut. Untuk informasi selengkapnya, lihat Kelola task terjadwal.
FAQ
-
T: Bagaimana cara mengatasi error "Impala JDBC Url is Empty"?
>>> [ERROR][LauncherFactory]: JobLauncher init Failed! java.lang.RuntimeException: Impala JDBC Url is Empty! at com.aliyun.emr.dataworks.dcc.launcher.type.ImpalaJobLauncher.initJdbcConnectionJ: Pastikan layanan Impala telah ditambahkan ke kluster Anda. Layanan Impala hanya tersedia untuk pengguna yang sudah ada.
-
T: Mengapa terjadi error timeout koneksi saat node dijalankan?
EMR execute task failed! FAILED: Build connection error! Could not open client transport with JDBC Uri: jdbc:hive2://<host>:21050/;auth=noSasl: java.net.ConnectException: Connection timed out (Connection timed out)J: Error ini dapat terjadi jika grup sumber daya dan kluster tidak memiliki konektivitas jaringan. Untuk mengatasi masalah ini, buka halaman daftar sumber daya komputasi, temukan sumber daya tersebut, lalu klik Inisialisasi Sumber Daya. Pada kotak dialog yang muncul, klik Re-initialize dan pastikan sumber daya berhasil diinisialisasi.