Buat node E-MapReduce (EMR) Spark SQL untuk memproses data terstruktur menggunakan mesin kueri SQL terdistribusi guna meningkatkan efisiensi eksekusi pekerjaan.
Prasyarat
Sebelum mengembangkan node, jika perlu menyesuaikan lingkungan komponen, Anda dapat membuat gambar kustom berdasarkan gambar resmi
dataworks_emr_base_task_poddan menggunakan gambar kustom di DataStudio.Misalnya, Anda dapat mengganti paket JAR Spark atau menyertakan
libraries,files, atau paketJARtertentu saat membuat gambar kustom.Kluster EMR telah didaftarkan ke DataWorks. Untuk informasi selengkapnya, lihat Pengembangan Data Lama: Menyambungkan sumber daya komputasi EMR.
Diperlukan Pengguna Resource Access Management (RAM) untuk mengembangkan tugas. Pengguna RAM ini harus ditambahkan ke ruang kerja dan diberikan peran Developer atau Workspace Administrator. Peran Workspace Administrator memiliki izin yang luas dan harus diberikan dengan hati-hati. Untuk informasi selengkapnya tentang cara menambahkan anggota, lihat Menambahkan anggota ke ruang kerja.
Kelompok sumber daya telah dibeli dan dikonfigurasi, termasuk menyambungkan kelompok sumber daya ke ruang kerja dan mengonfigurasi jaringan. Untuk informasi selengkapnya, lihat Menambahkan dan menggunakan kelompok sumber daya Serverless.
Alur bisnis telah dibuat. Di DataStudio, operasi pengembangan untuk mesin yang berbeda diorganisasi dalam alur bisnis. Anda harus membuat alur bisnis sebelum dapat membuat node. Untuk informasi selengkapnya, lihat Membuat alur bisnis.
Jika memerlukan lingkungan pengembangan tertentu, Anda dapat menggunakan fitur gambar kustom di DataWorks untuk membuat citra komponen guna eksekusi tugas. Untuk informasi selengkapnya, lihat Gambar kustom.
Batasan
Jenis node ini hanya dapat dijalankan pada kelompok sumber daya serverless atau grup sumber daya eksklusif untuk penjadwalan. Kami merekomendasikan penggunaan kelompok sumber daya serverless. Jika perlu menggunakan citra di DataStudio, gunakan kelompok sumber daya komputasi serverless.
Untuk mengelola metadata DataLake atau kluster kustom di DataWorks, EMR-HOOK harus dikonfigurasi pada kluster tersebut. Jika EMR-HOOK tidak dikonfigurasi, Anda tidak dapat melihat metadata secara real-time, menghasilkan log audit, melihat alur data, atau melakukan tugas administrasi terkait EMR di DataWorks. Untuk informasi selengkapnya tentang cara mengonfigurasi EMR-HOOK, lihat Mengonfigurasi EMR-HOOK untuk Spark SQL.
Alur data tidak tersedia untuk kluster EMR on ACK Spark. Alur data tersedia untuk kluster EMR Serverless Spark.
Anda dapat menggunakan fitur visualisasi untuk mendaftarkan fungsi pada kluster DataLake dan kluster kustom, tetapi tidak untuk kluster EMR on ACK Spark atau kluster EMR Serverless Spark.
Catatan
Jika Anda mengaktifkan kontrol akses Ranger untuk Spark di kluster EMR yang terikat ke ruang kerja saat ini:
Fitur ini tersedia secara default saat menjalankan tugas Spark yang menggunakan gambar default.
Untuk menjalankan tugas Spark yang menggunakan gambar kustom, Anda harus mengajukan tiket ke helpdesk untuk meningkatkan gambar agar mendukung fitur ini.
1. Buat node EMR Spark SQL
Buka halaman DataStudio.
Login ke Konsol DataWorks. Di bilah navigasi atas, pilih wilayah yang diinginkan. Di panel navigasi kiri, pilih . Pada halaman yang muncul, pilih ruang kerja yang diinginkan dari daftar drop-down dan klik Go to Data Development.
Buat node EMR Spark SQL.
Klik kanan alur bisnis target dan pilih .
CatatanAtau, arahkan kursor ke New dan pilih .
Pada kotak dialog New Node, atur Name, Engine Instance, Node Type, dan Path. Klik Confirm. Tab konfigurasi node EMR Spark SQL akan muncul.
CatatanNama node dapat berisi huruf kapital, huruf kecil, karakter Tionghoa, angka, garis bawah (_), dan titik (.).
2. Kembangkan tugas EMR Spark SQL
Pada tab konfigurasi node EMR Spark SQL, klik ganda node yang telah Anda buat. Tab pengembangan tugas akan muncul.
Kembangkan kode SQL
Di area pengeditan SQL, kembangkan kode tugas. Anda dapat mendefinisikan variabel dalam kode menggunakan format ${variable_name}. Pada tab konfigurasi node, berikan nilai ke variabel tersebut di bagian Scheduling Configuration > Scheduling Parameters di panel navigasi kanan. Hal ini memungkinkan Anda melewatkan parameter secara dinamis dalam skenario penjadwalan. Untuk informasi selengkapnya tentang cara menggunakan parameter penjadwalan, lihat Format parameter penjadwalan yang didukung. Berikut adalah contohnya.
SHOW TABLES;
-- Mendefinisikan variabel bernama var menggunakan ${var}. Jika Anda memberikan nilai ${yyyymmdd} ke variabel ini, Anda dapat membuat tabel dengan waktu data sebagai akhiran.
CREATE TABLE IF NOT EXISTS userinfo_new_${var} (
ip STRING COMMENT'Alamat IP',
uid STRING COMMENT'ID Pengguna'
)PARTITIONED BY(
dt STRING
); -- Ini dapat digunakan bersama parameter penjadwalan.Pernyataan SQL tidak boleh melebihi 130 KB.
Jika beberapa sumber daya komputasi EMR dilampirkan ke ruang kerja Anda di Pengembangan Data, Anda harus memilih sumber daya komputasi.
(Opsional) Konfigurasi parameter lanjutan
Pada tab Konfigurasi Lanjutan node, konfigurasikan parameter atribut khusus Spark. Untuk informasi selengkapnya tentang parameter atribut Spark, lihat Konfigurasi Spark. Parameter lanjutan yang dapat dikonfigurasi bervariasi berdasarkan jenis kluster EMR, seperti yang ditunjukkan pada tabel berikut.
Kluster DataLake/Kluster kustom: EMR on ECS
Parameter lanjutan | Deskripsi konfigurasi |
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 pernyataan SQL. Nilai yang valid:
Catatan Parameter ini hanya dapat digunakan untuk pengujian dan menjalankan alur di lingkungan pengembangan data. |
ENABLE_SPARKSQL_JDBC | Metode pengiriman kode SQL. Nilai yang valid:
|
DATAWORKS_SESSION_DISABLE | Berlaku untuk skenario di mana Anda langsung menguji dan menjalankan tugas di lingkungan pengembangan. Nilai yang valid:
Catatan Saat parameter ini diatur ke |
Lainnya | Parameter Konfigurasi Spark kustom. Tambahkan parameter atribut khusus Spark. Format konfigurasi adalah sebagai berikut: Catatan
|
Kluster EMR Serverless Spark
Untuk informasi tentang pengaturan parameter, lihat Mengatur parameter untuk mengirimkan pekerjaan Spark.
Parameter lanjutan | Deskripsi konfigurasi |
FLOW_SKIP_SQL_ANALYZE | Mode eksekusi pernyataan SQL. Nilai yang valid:
Catatan Parameter ini hanya dapat digunakan untuk pengujian dan menjalankan alur di lingkungan pengembangan data. |
DATAWORKS_SESSION_DISABLE | Metode pengiriman pekerjaan. Saat Anda mengeksekusi tugas di Pengembangan Data, tugas tersebut secara default dikirimkan ke SQL Compute untuk dieksekusi. Anda dapat menggunakan parameter ini untuk menentukan apakah tugas dieksekusi oleh SQL Compute atau dikirimkan ke antrian untuk dieksekusi.
|
SERVERLESS_RELEASE_VERSION | Versi mesin DPI Spark. Secara default, Default DPI Engine Version yang dikonfigurasi untuk kluster di Management Center > Cluster Management digunakan. Untuk mengatur versi mesin DPI yang berbeda untuk tugas yang berbeda, Anda dapat mengaturnya di sini. Catatan Parameter |
SERVERLESS_QUEUE_NAME | Menentukan antrian sumber daya tempat tugas dikirimkan. Saat tugas ditentukan untuk dikirimkan ke antrian untuk dieksekusi, Default Resource Queue yang dikonfigurasi untuk kluster di Management Center > Cluster Management digunakan secara default. Jika Anda memiliki persyaratan pemagaran dan manajemen sumber daya, Anda dapat menambahkan antrian. Untuk informasi selengkapnya, lihat Mengelola antrian sumber daya. Metode konfigurasi:
Catatan
|
SERVERLESS_SQL_COMPUTE | Menentukan SQL Compute (sesi SQL). Secara default, Default SQL Compute yang dikonfigurasi untuk kluster di Management Center > Cluster Management digunakan. Untuk mengatur sesi SQL yang berbeda untuk tugas yang berbeda, Anda dapat mengaturnya di sini. Untuk membuat dan mengelola sesi SQL, lihat Mengelola sesi SQL. |
Lainnya | Parameter Konfigurasi Spark kustom. Tambahkan parameter atribut khusus Spark. Format konfigurasi adalah sebagai berikut: Catatan DataWorks memungkinkan Anda mengatur parameter Spark global, artinya Anda dapat menentukan parameter Spark yang digunakan oleh setiap modul DataWorks di tingkat ruang kerja. Anda dapat menentukan apakah prioritas parameter Spark global ini lebih tinggi daripada parameter Spark dalam modul tertentu. Untuk informasi selengkapnya tentang cara mengatur parameter Spark global, lihat Mengatur parameter Spark global. |
Simpan dan jalankan tugas SQL
Pada bilah alat, klik ikon
untuk menyimpan pernyataan SQL. Klik ikon
untuk menjalankan pernyataan SQL.
Pada kotak dialog Jalankan, pilih kelompok sumber daya yang telah lulus uji konektivitas jaringan untuk memastikan DataWorks dapat mengakses layanan Spark Anda. Jika menggunakan variabel dalam kode node, berikan konstanta ke variabel tersebut untuk tujuan pengujian. Untuk informasi tentang cara mengonfigurasi parameter penjadwalan dan kelompok sumber daya untuk penjadwalan, lihat Mengonfigurasi penjadwalan node. Untuk informasi selengkapnya tentang cara men-debug tugas, lihat Proses debugging tugas.
Untuk memodifikasi penetapan parameter dalam kode, klik Advanced Run pada bilah alat. Untuk informasi selengkapnya tentang logika penetapan parameter, lihat Apa perbedaan logika penetapan antara Jalankan, Jalankan Lanjutan, dan pengujian asap di lingkungan pengembangan?
Kluster Spark: EMR on ACK
Parameter lanjutan | Deskripsi konfigurasi |
FLOW_SKIP_SQL_ANALYZE | Mode eksekusi pernyataan SQL. Nilai yang valid:
Catatan Parameter ini hanya dapat digunakan untuk pengujian dan menjalankan alur di lingkungan pengembangan data. |
Lainnya | Parameter Konfigurasi Spark kustom. Tambahkan parameter atribut khusus Spark. Format konfigurasi adalah sebagai berikut: Catatan DataWorks memungkinkan Anda mengatur parameter Spark global, artinya Anda dapat menentukan parameter Spark yang digunakan oleh setiap modul DataWorks di tingkat ruang kerja. Anda dapat menentukan apakah prioritas parameter Spark global ini lebih tinggi daripada parameter Spark dalam modul tertentu. Untuk informasi selengkapnya tentang cara mengatur parameter Spark global, lihat Mengatur parameter Spark global. |
Kluster Hadoop: EMR on ECS
Parameter lanjutan | Deskripsi konfigurasi |
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 pernyataan SQL. Nilai yang valid:
Catatan Parameter ini hanya dapat digunakan untuk pengujian dan menjalankan alur di lingkungan pengembangan data. |
USE_GATEWAY | Mengatur apakah pekerjaan dikirimkan melalui kluster Gateway saat mengirimkan pekerjaan node ini. Nilai yang valid:
Catatan Jika Anda secara manual mengatur parameter ini ke |
Lainnya | Parameter Konfigurasi Spark kustom. Tambahkan parameter atribut khusus Spark. Format konfigurasi adalah sebagai berikut: Catatan
|
Eksekusi tugas SQL
Pada bilah alat, klik ikon
. Pada kotak dialog Parameters, pilih kelompok sumber daya penjadwalan yang telah Anda buat dan klik Run.CatatanUntuk mengakses sumber daya komputasi di lingkungan jaringan publik atau VPC, Anda harus menggunakan kelompok sumber daya penjadwalan yang telah lulus uji konektivitas dengan sumber daya komputasi. Untuk informasi selengkapnya, lihat Solusi konektivitas jaringan.
Untuk mengubah kelompok sumber daya untuk eksekusi tugas selanjutnya, klik ikon Run With Parameters
dan pilih kelompok sumber daya penjadwalan yang ingin Anda alihkan.Saat mengkueri data menggunakan node EMR Spark SQL, kueri dapat mengembalikan maksimal 10.000 catatan, dan ukuran total data tidak boleh melebihi 10 MB.
Klik ikon
untuk menyimpan pernyataan SQL.(Opsional) Lakukan pengujian asap.
Jika ingin melakukan pengujian asap di lingkungan pengembangan, Anda dapat melakukannya saat mengirimkan node atau setelah node dikirimkan. Untuk informasi selengkapnya, lihat Melakukan pengujian asap.
3. Konfigurasi penjadwalan node
Jika ingin sistem menjalankan tugas pada node secara berkala, klik Properties di panel navigasi kanan pada tab konfigurasi node untuk mengonfigurasi properti penjadwalan tugas sesuai kebutuhan bisnis Anda. Untuk informasi selengkapnya, lihat Ikhtisar.
4. Publikasikan tugas node
Setelah tugas pada node dikonfigurasi, Anda harus melakukan commit dan deploy tugas tersebut. Setelah commit dan deploy, sistem akan menjalankan tugas tersebut secara berkala berdasarkan konfigurasi penjadwalan.
Klik ikon
di bilah alat atas untuk menyimpan tugas.Klik ikon
di bilah alat atas untuk melakukan commit tugas.Pada kotak dialog Submit, konfigurasikan parameter Change description. Kemudian, tentukan apakah akan meninjau kode tugas setelah commit berdasarkan kebutuhan bisnis Anda.
CatatanAnda harus mengonfigurasi parameter Rerun dan Parent Nodes pada tab Properti sebelum melakukan commit tugas.
Anda dapat menggunakan fitur tinjauan kode untuk memastikan kualitas kode tugas dan mencegah kesalahan eksekusi akibat kode tugas yang tidak valid. Jika mengaktifkan fitur tinjauan kode, kode tugas yang diajukan hanya dapat di-deploy setelah lulus tinjauan kode. Untuk informasi selengkapnya, lihat Tinjauan kode.
Jika menggunakan ruang kerja dalam mode standar, Anda harus mendeploy tugas di lingkungan produksi setelah melakukan commit. Untuk mendeploy tugas pada node, klik Deploy di pojok kanan atas tab konfigurasi node. Untuk informasi selengkapnya, lihat Deploy node.
Langkah selanjutnya
Setelah melakukan commit dan deploy tugas, tugas 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 tugas. Untuk informasi selengkapnya, lihat Melihat dan mengelola tugas yang dipicu otomatis.
FAQ
Saat mengeksekusi tugas node EMR Spark SQL di Pengembangan Data, jika tugas harus dikirimkan ke SQL Compute untuk dieksekusi, pastikan status layanan SQL Compute adalah Running. Jika tidak, tugas akan gagal. Untuk informasi tentang cara melihat status SQL Compute, lihat Mengelola sesi SQL.