Node CDH Spark menjalankan tugas Spark yang Anda kompilasi di CDH dan menjadwalkannya di DataWorks. Buat node CDH Spark untuk mengirimkan pekerjaan Spark ke kluster CDH yang telah terdaftar di ruang kerja Anda serta menjalankannya sesuai jadwal berulang.
Kasus penggunaan
DataWorks menjadwalkan dan memantau pekerjaan Spark yang Anda kirimkan ke kluster CDH, sehingga menyederhanakan operasi dan pemeliharaan (O&M) pekerjaan serta meningkatkan efisiensi manajemen sumber daya. Spark mendukung analisis kompleks berbasis memori serta aplikasi analitik data berskala besar dengan latensi rendah. Node CDH Spark umumnya digunakan dalam skenario berikut:
Data analysis — Gunakan Spark SQL, Dataset, dan API DataFrame untuk melakukan agregasi data kompleks, penyaringan, dan transformasi, serta memperoleh wawasan dari data Anda secara cepat.
Stream processing — Gunakan Spark Streaming untuk memproses aliran data real-time dan melakukan analisis serta pengambilan keputusan segera.
Machine learning — Gunakan Spark MLlib untuk pra-pemrosesan data, rekayasa fitur, pelatihan model, dan evaluasi.
Large-scale ETL — Ekstrak, transformasikan, dan muat set data berskala besar untuk menyiapkan data bagi gudang data atau sistem penyimpanan lainnya.
Cara kerja
Tugas CDH Spark mencakup dua sistem. Di CDH, Anda mengembangkan dan mengompilasi kode tugas Spark menjadi file JAR tugas. Di DataWorks, Anda mengunggah file JAR tersebut sebagai resource CDH JAR, mereferensikannya dari node CDH Spark, lalu mengirimkan tugas ke kluster CDH menggunakan perintah spark-submit. DataWorks kemudian menjalankan node tersebut berdasarkan properti penjadwalan yang Anda konfigurasikan.
Aksi terakhir dalam proses ini bergantung pada mode ruang kerja Anda. Jika ruang kerja Anda berada dalam mode standar, commit tugas bukanlah aksi akhir: tugas tersebut juga harus dideploy ke lingkungan produksi.
Prasyarat
Alur kerja telah dibuat di DataStudio.
Di DataStudio, tugas pengembangan dikelompokkan ke dalam alur kerja. Anda harus membuat alur kerja sebelum dapat membuat node. Untuk informasi selengkapnya, lihat Create a workflow.
Kluster CDH telah dibuat dan didaftarkan ke ruang kerja DataWorks Anda.
Anda harus mendaftarkan kluster CDH ke ruang kerja DataWorks sebelum membuat node dan tugas CDH. Untuk informasi selengkapnya, lihat Bind a CDH compute resource in the old version of DataStudio.
File JAR tugas yang telah dikompilasi tersedia.
Sebelum menggunakan DataWorks untuk menjadwalkan tugas CDH Spark, kembangkan dan kompilasi kode tugas Spark di CDH untuk menghasilkan file JAR tugas yang telah dikompilasi. Untuk panduan mengembangkan tugas CDH Spark, lihat Spark Overview.
(Opsional) Jika Anda menggunakan RAM user, pengguna tersebut harus ditambahkan ke ruang kerja dan diberi peran Development atau Workspace Administrator. Peran Workspace Administrator memiliki izin yang luas, jadi berikan dengan hati-hati. Untuk informasi selengkapnya tentang penambahan anggota, lihat Add members to a workspace.
(Disarankan) Grup sumber daya serverless telah dibeli dan dikonfigurasi.
Konfigurasi mencakup binding grup sumber daya ke ruang kerja Anda dan penyiapan jaringan. Untuk informasi selengkapnya, lihat Use a serverless resource group. Untuk jenis grup sumber daya lain yang didukung oleh tugas CDH Spark, lihat Limitations.
Batasan
Konfirmasi batasan berikut sebelum membuat node CDH Spark:
Grup sumber daya — Tugas CDH Spark dijalankan pada grup sumber daya serverless (disarankan) atau grup sumber daya eksklusif untuk penjadwalan versi lama.
Konektivitas jaringan — Jika tugas perlu mengakses internet publik atau VPC, Anda harus memilih grup sumber daya penjadwalan yang memiliki konektivitas jaringan yang diperlukan. Untuk informasi selengkapnya, lihat Network connectivity solutions.
Ukuran file resource — File JAR yang Anda unggah sebagai resource CDH JAR tidak boleh melebihi 50 MB.
Otentikasi Kerberos — Jika otentikasi Kerberos diaktifkan, berikan izin tulis kepada pengguna saat ini pada direktori jalur penyimpanan sebelum mengunggah resource.
Komentar — Editor node CDH Spark tidak mendukung komentar. Jika kode node berisi komentar, kesalahan akan terjadi saat Anda menjalankan node tersebut.
Langkah 1: Buat node CDH Spark
Masuk ke Konsol DataWorks. Di wilayah target, klik di panel navigasi kiri. Pilih ruang kerja dari daftar drop-down lalu klik Go to Data Development.
Klik kanan alur kerja lalu pilih .
Pada kotak dialog Create Node, konfigurasikan instans engine, path, nama, dan informasi lain untuk node tersebut.
Klik OK untuk membuat node. Anda kemudian dapat mengembangkan dan mengonfigurasi tugas terkait di node yang telah Anda buat.
Langkah 2: Buat resource CDH JAR dan tulis kode node
Pada node CDH Spark yang telah Anda buat, referensikan resource JAR, tulis kode node, lalu kirimkan tugas menggunakan perintah spark-submit:
Buat resource CDH JAR.
Pada alur kerja terkait, klik kanan , pilih , lalu pada kotak dialog Create Resource, klik Click Upload dan pilih file yang ingin diunggah.
Konfigurasikan Storage Path (
/user/admin/libsecara default) dan masukkan Name untuk resource tersebut. Jika jenis resource adalah JAR, nama file harus menyertakan ekstensi.jar. Untuk batas ukuran file resource dan izin yang diperlukan oleh otentikasi Kerberos, lihat Limitations.Referensikan resource CDH JAR.
Buka node CDH yang telah Anda buat dan tetap berada di halaman pengeditan.
Di , temukan resource yang ingin direferensikan, misalnya
spark-examples_2.11-2.4.0.jar, klik kanan nama resource tersebut, lalu pilih Insert Resource Path.Setelah Anda memilih Insert Resource Path, jika pernyataan dalam format
##@resource_reference{""}muncul di halaman pengeditan kode node CDH, artinya resource kode tersebut telah direferensikan. Contoh berikut menunjukkan pernyataan yang dimasukkan dan nama resource yang direferensikan:
##@resource_reference{"spark-examples_2.11-2.4.0.jar"} spark-examples_2.11-2.4.0.jarModifikasi kode node CDH Spark untuk menambahkan perintah
spark-submit.PentingTulis ulang kode tugas Anda berdasarkan contoh berikut dan jangan tambahkan komentar. Untuk informasi selengkapnya, lihat Limitations.
Contoh berikut menunjukkan kode yang telah dimodifikasi:
##@resource_reference{"spark-examples_2.11-2.4.0.jar"} spark-submit --class org.apache.spark.examples.SparkPi --master yarn spark-examples_2.11-2.4.0.jar 100org.apache.spark.examples.SparkPi: Kelas utama tugas dalam file JAR yang telah Anda kompilasi.spark-examples_2.11-2.4.0.jar: Nama resource CDH JAR yang telah Anda unggah.
Langkah 3: Konfigurasi penjadwalan tugas
Jika Anda perlu menjalankan tugas sesuai jadwal berulang, klik Scheduling di panel kanan untuk mengonfigurasi properti penjadwalannya:
Konfigurasikan properti penjadwalan dasar. Untuk informasi selengkapnya, lihat Configure basic properties.
Konfigurasikan siklus penjadwalan, properti rerun, dan dependensi. Untuk informasi selengkapnya, lihat Configure time properties dan Configure same-cycle scheduling dependencies.
CatatanAnda harus mengonfigurasi properti Rerun attribute dan menentukan Parent Nodes sebelum melakukan commit node.
Konfigurasikan properti resource. Untuk informasi selengkapnya, lihat Configure resource properties. Grup sumber daya penjadwalan yang Anda pilih harus menyediakan konektivitas jaringan yang dibutuhkan oleh tugas. Untuk informasi selengkapnya, lihat Limitations.
Langkah 4: Debug kode
(Opsional) Pilih grup sumber daya waktu proses dan tetapkan nilai untuk parameter kustom.
Di bilah alat, klik ikon
. Di kotak dialog Parameter, pilih grup sumber daya yang akan digunakan untuk debugging. Untuk jenis grup sumber daya yang didukung oleh tugas CDH Spark, lihat Limitations.Jika kode tugas Anda menggunakan parameter penjadwalan, tetapkan nilainya di sini untuk debugging. Untuk informasi selengkapnya tentang logika penetapan nilai, lihat What is the difference in value assignment logic between Run, Advanced Run, and development-environment smoke testing?.
-
Simpan dan jalankan pernyataan SQL.
Di bilah alat, klik ikon
untuk menyimpan pernyataan SQL, lalu klik ikon
untuk menjalankan tugas. (Opsional) Lakukan pengujian asap.
Untuk menjalankan pengujian asap di lingkungan pengembangan, Anda dapat melakukannya selama proses commit atau setelah node di-commit. Untuk informasi selengkapnya, lihat Perform smoke testing.
Simpan dan jalankan pernyataan SQL.
Di bilah alat, klik ikon
untuk menyimpan pernyataan SQL, lalu klik ikon
untuk menjalankan tugas.
Simpan dan jalankan pernyataan SQL.
Di bilah alat, klik ikon
untuk menyimpan pernyataan SQL, lalu klik ikon
untuk menjalankan tugas.
Simpan dan jalankan pernyataan SQL.
Di bilah alat, klik ikon
untuk menyimpan pernyataan SQL, lalu klik ikon
untuk menjalankan tugas.
Langkah selanjutnya
Commit dan deploy tugas node.
Klik ikon di bilah alat untuk menyimpan node.
Klik ikon di bilah alat untuk melakukan commit tugas node.
Pada kotak dialog Commit Node, masukkan Change Description.
Klik Determine.
Jika Anda menggunakan ruang kerja dalam mode standar, klik Deploy di sisi kiri bilah menu atas untuk mendeplai tugas ke lingkungan produksi setelah tugas di-commit. Untuk informasi selengkapnya, lihat Deploy tasks.
Lihat tugas periodik.
Di pojok kanan atas halaman pengeditan, klik O&M Personnel untuk membuka Operation Center di lingkungan produksi.
Lihat tugas periodik yang sedang berjalan. Untuk informasi selengkapnya, lihat Manage periodic tasks.
Jika Anda ingin melihat detail lebih lanjut tentang tugas periodik, klik Operation Center di bilah menu atas. Untuk informasi selengkapnya, lihat Operation Center overview.