Spark adalah mesin berkinerja tinggi dan mudah digunakan untuk analitik data skala besar. Spark mendukung berbagai jenis aplikasi, termasuk komputasi kompleks dalam memori (in-memory computing), sehingga ideal untuk membangun aplikasi analisis data skala besar dengan latensi rendah. DataWorks menyediakan node Serverless Spark Batch yang memungkinkan Anda mengembangkan dan menjadwalkan tugas Spark secara berkala pada kluster EMR Serverless Spark di DataWorks.
Kesesuaian
Batasan sumber daya komputasi: Anda hanya dapat menyambungkan sumber daya komputasi EMR Serverless Spark. Pastikan konektivitas jaringan tersedia antara kelompok sumber daya dan sumber daya komputasi tersebut.
Kelompok sumber daya: Hanya kelompok sumber daya Serverless yang dapat digunakan untuk menjalankan jenis tugas ini.
(Opsional) Jika Anda adalah pengguna Resource Access Management (RAM), pastikan Anda telah ditambahkan ke ruang kerja untuk pengembangan tugas dan telah diberikan peran Developer atau Workspace Administrator. Peran Workspace Administrator memiliki izin yang luas. Berikan peran ini dengan hati-hati. Untuk informasi lebih lanjut tentang penambahan anggota, lihat Tambahkan anggota ke ruang kerja.
Jika Anda menggunakan Akun Alibaba Cloud, Anda dapat melewati langkah ini.
Buat node
Untuk informasi lebih lanjut, lihat Buat node.
Kembangkan node
Sebelum mengembangkan tugas Serverless Spark Batch, Anda harus terlebih dahulu mengembangkan kode tugas Spark di EMR dan mengompilasinya menjadi paket Java Archive (JAR). Untuk informasi lebih lanjut tentang pengembangan Spark, lihat Spark Tutorials.
Pilih opsi berdasarkan skenario Anda:
Opsi 1: Unggah dan referensikan resource EMR JAR
Di DataWorks, Anda dapat mengunggah resource dari mesin lokal ke DataStudio lalu mereferensikannya. Setelah mengompilasi tugas Serverless Spark Batch, ambil paket JAR yang telah dikompilasi. Kami menyarankan Anda memilih metode penyimpanan paket JAR berdasarkan ukurannya. Jika ukuran paket JAR kurang dari 500 MB, Anda dapat mengunggahnya dari mesin lokal sebagai resource EMR JAR DataWorks.
Buat resource EMR JAR.
Di panel navigasi, klik ikon Resource Management
untuk membuka halaman Resource Management.Pada halaman Resource Management, klik ikon
, pilih , lalu masukkan nama spark-examples_2.11-2.4.0.jar.Klik tombol Upload untuk mengunggah spark-examples_2.11-2.4.0.jar.
Pilih Storage Path, Data Source, dan Resource Group.
PentingUntuk Data Source, pilih kluster Serverless Spark yang telah diikat.
Klik tombol Save.

Referensikan sumber daya EMR JAR.
Buka editor kode untuk node Serverless Spark Batch yang telah dibuat.
Di panel navigasi, perluas Resource Management. Temukan resource yang ingin Anda referensikan, klik kanan resource tersebut, lalu pilih Reference Resource.
Setelah Anda memilih resource tersebut, pesan sukses akan ditampilkan di editor kode node Serverless Spark Batch. Hal ini menunjukkan bahwa resource telah direferensikan.
##@resource_reference{"spark-examples_2.11-2.4.0.jar"} spark-examples_2.11-2.4.0.jarResource tersebut direferensikan ketika pernyataan referensi ditambahkan secara otomatis ke editor kode. Dalam pernyataan ini, spark-examples_2.11-2.4.0.jar adalah nama resource EMR JAR yang telah Anda unggah.
Tulis ulang kode node Serverless Spark Batch untuk menambahkan perintah spark-submit. Contoh kodenya sebagai berikut.
PentingEditor kode untuk node Serverless Spark Batch tidak mendukung pernyataan komentar. Gunakan contoh berikut untuk menulis ulang kode tugas. Jangan tambahkan komentar. Penambahan komentar akan menyebabkan error saat Anda menjalankan node.
Untuk EMR Serverless Spark, Anda tidak perlu menentukan parameter deploy-mode dalam perintah spark-submit. Hanya mode kluster yang didukung.
##@resource_reference{"spark-examples_2.11-2.4.0.jar"} spark-submit --class org.apache.spark.examples.SparkPi spark-examples_2.11-2.4.0.jar 100Perintah
Deskripsi
classKelas utama tugas dalam paket JAR yang telah dikompilasi. Pada contoh ini, kelas utamanya adalah
org.apache.spark.examples.SparkPi.CatatanUntuk informasi lebih lanjut tentang parameter-parameter tersebut, lihat Kirim tugas menggunakan spark-submit.
Opsi 2: Langsung mereferensikan resource OSS
Anda dapat langsung mereferensikan resource OSS di dalam node. Saat Anda menjalankan node EMR, DataWorks akan secara otomatis mengunduh resource OSS ke mesin lokal Anda. Metode ini sering digunakan dalam skenario di mana tugas EMR harus dijalankan dengan dependensi JAR atau tugas EMR bergantung pada skrip.
Kembangkan resource JAR: Topik ini menggunakan SparkWorkOSS-1.0-SNAPSHOT-jar-with-dependencies.jar sebagai contoh.
Unggah resource JAR.
Masuk ke Konsol OSS. Di panel navigasi, klik Buckets.
Klik nama bucket tujuan untuk membuka halaman manajemen file.
Klik Create Directory untuk membuat folder guna menyimpan resource JAR.
Buka folder tersebut dan unggah file
SparkWorkOSS-1.0-SNAPSHOT-jar-with-dependencies.jarke bucket.
Referensikan sumber daya JAR.
Pada halaman editor node Serverless Spark Batch yang telah dibuat, edit kode untuk mereferensikan resource JAR tersebut.
PentingPada kode berikut, nama bucket OSS adalah
mybucketdan foldernya adalahemr. Gantilah dengan nama bucket dan path folder aktual Anda.spark-submit --class com.aliyun.emr.example.spark.SparkMaxComputeDemo oss://mybucket/emr/SparkWorkOSS-1.0-SNAPSHOT-jar-with-dependencies.jarDeskripsi parameter:
Parameter
Deskripsi
classNama lengkap kelas utama yang akan dijalankan.
Path file
ossFormatnya adalah
oss://{bucket}/{object}Bucket: Kontainer di OSS untuk menyimpan objek. Setiap Bucket memiliki nama yang unik. Masuk ke Konsol Manajemen OSS untuk melihat semua Buckets di bawah akun saat ini.
object: Objek tertentu, seperti nama file atau path, yang disimpan di dalam bucket.
CatatanUntuk informasi lebih lanjut tentang parameter-parameter tersebut, lihat Kirim tugas menggunakan spark-submit.
Debugging node
Pada bagian Debugging Configurations, konfigurasikan parameter seperti Computing Resource dan Resource Group.
Item Konfigurasi
Deskripsi
Computing Resource
Pilih sumber daya komputasi EMR Serverless Spark yang telah diikat. Jika tidak ada sumber daya komputasi yang tersedia, pilih Create Computing Resource dari daftar drop-down.
Resource Group
Pilih kelompok sumber daya yang telah diikat ke ruang kerja.
Script Parameters
Saat mengonfigurasi konten node, Anda dapat mendefinisikan variabel dalam format
${ParameterName}. Anda kemudian harus menentukan Parameter Name dan Parameter Value di bagian Script Parameters. Variabel-variabel ini akan diganti secara dinamis dengan nilai aktualnya saat runtime. Untuk informasi lebih lanjut, lihat Sumber dan ekspresi parameter penjadwalan.ServerlessSpark Node Parameters
Parameter waktu proses untuk program Spark. Parameter yang didukung meliputi:
Parameter waktu proses kustom DataWorks. Untuk informasi lebih lanjut, lihat Lampiran: Parameter DataWorks.
Parameter properti bawaan Spark. Untuk informasi lebih lanjut, lihat Properti Spark open-source dan Parameter Spark Conf kustom.
Konfigurasikan parameter dalam format berikut:
spark.eventLog.enabled : false. DataWorks secara otomatis menambahkan parameter tersebut ke kode yang dikirimkan ke Serverless Spark dalam format berikut:--conf key=value.CatatanDataWorks memungkinkan Anda mengonfigurasi parameter Spark global untuk setiap modul di tingkat ruang kerja. Anda juga dapat mengatur prioritas parameter global ini dibandingkan parameter spesifik modul. Untuk informasi lebih lanjut, lihat Konfigurasi parameter Spark global.
Pada bilah alat editor node, klik Run.
PentingSebelum menerbitkan, Anda harus menyinkronkan ServerlessSpark Node Parameters dari Debugging Configuration ke ServerlessSpark Node Parameters untuk Scheduling.
Langkah selanjutnya
Jadwalkan node: Jika node dalam folder proyek perlu dijalankan secara berkala, Anda dapat mengatur Scheduling Policies dan mengonfigurasi properti penjadwalan di bagian Scheduling di sisi kanan halaman node.
Terbitkan node: Jika tugas perlu dijalankan di lingkungan produksi, klik ikon
untuk menerbitkan tugas tersebut. Node dalam folder proyek hanya akan dijalankan sesuai jadwal setelah diterbitkan ke lingkungan produksi.Node O&M: Setelah menerbitkan tugas, Anda dapat melihat status tugas yang dipicu otomatis di Operation Center. Untuk informasi lebih lanjut, lihat Memulai Operation Center.
Referensi
Lampiran: Parameter DataWorks
Parameter | Deskripsi |
SERVERLESS_QUEUE_NAME | Menentukan antrian sumber daya tempat tugas dikirimkan. Secara default, tugas dikirimkan ke Default Resource Queue yang dikonfigurasi untuk kluster di bagian Cluster Management pada Management Center. Jika Anda memerlukan isolasi dan manajemen sumber daya, Anda dapat menambahkan antrian. Untuk informasi lebih lanjut, lihat Kelola antrian sumber daya. Metode konfigurasi:
|