全部产品
Search
文档中心

DataWorks:Node Serverless Spark Batch

更新时间:Feb 04, 2026

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

Catatan

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.

  1. Buat resource EMR JAR.

    1. Di panel navigasi, klik ikon Resource Management image untuk membuka halaman Resource Management.

    2. Pada halaman Resource Management, klik ikon image, pilih Create Resource > EMR JAR, lalu masukkan nama spark-examples_2.11-2.4.0.jar.

    3. Klik tombol Upload untuk mengunggah spark-examples_2.11-2.4.0.jar.

    4. Pilih Storage Path, Data Source, dan Resource Group.

      Penting

      Untuk Data Source, pilih kluster Serverless Spark yang telah diikat.

    5. Klik tombol Save.

    image

  2. Referensikan sumber daya EMR JAR.

    1. Buka editor kode untuk node Serverless Spark Batch yang telah dibuat.

    2. Di panel navigasi, perluas Resource Management. Temukan resource yang ingin Anda referensikan, klik kanan resource tersebut, lalu pilih Reference Resource.

    3. 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.jar

      Resource 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.

    4. Tulis ulang kode node Serverless Spark Batch untuk menambahkan perintah spark-submit. Contoh kodenya sebagai berikut.

      Penting
      • Editor 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 100

      Perintah

      Deskripsi

      class

      Kelas utama tugas dalam paket JAR yang telah dikompilasi. Pada contoh ini, kelas utamanya adalah org.apache.spark.examples.SparkPi.

      Catatan

      Untuk 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.

  1. Kembangkan resource JAR: Topik ini menggunakan SparkWorkOSS-1.0-SNAPSHOT-jar-with-dependencies.jar sebagai contoh.

  2. Unggah resource JAR.

    1. Masuk ke Konsol OSS. Di panel navigasi, klik Buckets.

    2. Klik nama bucket tujuan untuk membuka halaman manajemen file.

    3. Klik Create Directory untuk membuat folder guna menyimpan resource JAR.

    4. Buka folder tersebut dan unggah file SparkWorkOSS-1.0-SNAPSHOT-jar-with-dependencies.jar ke bucket.

  3. Referensikan sumber daya JAR.

    1. Pada halaman editor node Serverless Spark Batch yang telah dibuat, edit kode untuk mereferensikan resource JAR tersebut.

      Penting

      Pada kode berikut, nama bucket OSS adalah mybucket dan foldernya adalah emr. 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.jar

      Deskripsi parameter:

      Parameter

      Deskripsi

      class

      Nama lengkap kelas utama yang akan dijalankan.

      Path file oss

      Formatnya 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.

      Catatan

      Untuk informasi lebih lanjut tentang parameter-parameter tersebut, lihat Kirim tugas menggunakan spark-submit.

Debugging node

  1. 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:

    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.

    Catatan

    DataWorks 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.

  2. Pada bilah alat editor node, klik Run.

    Penting

    Sebelum 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 image 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: