All Products
Search
Document Center

DataWorks:Node Serverless Spark SQL

Last Updated:Jun 25, 2026

Buat node Serverless Spark SQL untuk memproses data terstruktur menggunakan mesin kueri SQL terdistribusi berbasis EMR Serverless Spark compute resource. Pendekatan ini meningkatkan efisiensi eksekusi pekerjaan.

Catatan penggunaan

  • Batasan sumber daya komputasi: Hanya bound EMR Serverless Spark compute resources yang didukung. Pastikan kelompok sumber daya dan sumber daya komputasi dapat berkomunikasi melalui jaringan.

  • Batasan kelompok sumber daya: Tugas ini hanya dapat dijalankan dalam Serverless resource group.

  • (Opsional, untuk pengguna RAM) Pengguna Resource Access Management (RAM) yang mengembangkan tugas harus ditambahkan ke ruang kerja dan diberi peran Development atau Workspace Administrator (peran ini mencakup izin yang luas dan harus diberikan dengan hati-hati). Untuk informasi selengkapnya, lihat Tambahkan anggota ruang kerja.

    Jika Anda menggunakan akun root, lewati langkah ini.

Buat node

Untuk petunjuknya, lihat Buat node.

Kembangkan node

Kembangkan kode tugas Anda di editor SQL. Sintaks mendukung catalog.database.tablename. Jika Anda menghilangkan catalog, Data Catalog default kluster akan digunakan. Jika Anda menghilangkan catalog.database, database default dalam Data Catalog default kluster akan digunakan.

Untuk informasi selengkapnya tentang Data Catalog, lihat Kelola Data Catalog di EMR Serverless Spark.
-- Ganti <catalog.database.tablename> dengan identifier aktual Anda.
SELECT * FROM <catalog.database.tablename> 

Definisikan variabel dalam kode Anda dengan format ${variable_name}. Kemudian, tetapkan nilai variabel tersebut di bagian Scheduling Parameters pada panel Scheduling Settings. Hal ini memungkinkan pengiriman parameter secara dinamis dalam skenario terjadwal. Untuk informasi selengkapnya tentang parameter penjadwalan, lihat Sumber dan ekspresi parameter penjadwalan. Kode berikut memberikan contohnya.

SHOW TABLES; 
-- Gunakan ${var} untuk mendefinisikan variabel bernama var. Jika Anda menetapkan nilai ${yyyymmdd} ke variabel ini, Anda dapat menggunakan tugas terjadwal untuk membuat tabel dengan tanggal bisnis sebagai sufiks.
CREATE TABLE IF NOT EXISTS userinfo_new_${var} (
  ip STRING COMMENT'IP address',
  uid STRING COMMENT'User ID'
)PARTITIONED BY(
  dt STRING
); -- Ini dapat digunakan bersama parameter penjadwalan.
Catatan

Pernyataan SQL tidak boleh melebihi 130 KB.

Debug node

  1. Pada bagian Run Configuration, pilih Compute Resource dan Resource Group.

    Parameter

    Deskripsi

    Compute resource

    Pilih EMR Serverless Spark compute resource yang telah diikat. Jika tidak ada sumber daya komputasi yang tersedia, Anda dapat memilih Create Compute Resource dari daftar drop-down.

    Resource group

    Pilih kelompok sumber daya yang diikat ke ruang kerja.

    Script parameter

    Jika Anda mendefinisikan variabel dalam format ${parameter_name} saat mengonfigurasi konten node, Anda harus menentukan Script Parameters dan Parameter name di bagian Parameter Value. Saat waktu proses, variabel tersebut akan diganti secara dinamis dengan nilai aktualnya. Untuk informasi selengkapnya, lihat Sumber dan ekspresi parameter penjadwalan.

    Serverless Spark node parameters

    Parameter waktu proses untuk aplikasi Spark. Jenis berikut didukung:

  2. Di bilah alat di bagian atas editor node, klik Run untuk menjalankan tugas SQL.

    Penting

    Sebelum menerbitkan, Anda harus menyinkronkan ServerlessSpark node parameters dari Run Configuration ke ServerlessSpark node parameters di Scheduling Settings.

Metode eksekusi SQL

DataWorks menyediakan dua metode untuk menjalankan SQL: eksekusi dalam node dan eksekusi di panel alur kerja. Kedua metode ini menggunakan konteks eksekusi yang berbeda, yang dapat menghasilkan hasil berbeda.

  • In-node execution: Pilih semua pernyataan SQL di editor SQL dan klik Run. Hanya pernyataan SQL yang dipilih yang dieksekusi. Metode ini menggunakan sumber daya komputasi dan parameter yang dikonfigurasi untuk node tersebut dan tidak memicu dependensi pada node hulu atau hilir.

  • Workflow pane execution: Klik kanan node saat ini di panel alur kerja dan pilih untuk menjalankan node tersebut beserta node hilirnya. Node saat ini dan semua node hilirnya dijalankan secara berurutan berdasarkan dependensi penjadwalan. Metode ini menggunakan sumber daya komputasi dan parameter dari konfigurasi penjadwalan, yang mungkin berbeda dari lingkungan yang digunakan untuk eksekusi dalam node.

Ketidaksesuaian sering kali muncul karena perbedaan nilai parameter penjadwalan, konfigurasi sumber daya komputasi yang tidak konsisten, atau output dari node hulu dan hilir yang memengaruhi konteks eksekusi node saat ini. Untuk pemecahan masalah, pastikan parameter penjadwalan dan konfigurasi sumber daya komputasi identik untuk kedua metode tersebut.

Langkah berikutnya

  • Konfigurasikan penjadwalan node: Jika Anda perlu menjalankan node secara berkala, konfigurasikan Scheduling Policy-nya di panel Scheduling Settings di sebelah kanan.

  • Terbitkan node: Untuk menjalankan tugas di lingkungan produksi, klik ikon image untuk menerbitkan node. Node hanya akan dijalankan sesuai jadwal setelah diterbitkan ke lingkungan produksi.

  • Task O&M: Setelah tugas diterbitkan, Anda dapat memantau status eksekusi periodiknya di Operation Center. Untuk informasi selengkapnya, lihat Memulai Operation Center.

Lampiran: Parameter DataWorks

Advanced parameter

Deskripsi

FLOW_SKIP_SQL_ANALYZE

Mode eksekusi pernyataan SQL. Nilai yang valid:

  • true: Beberapa pernyataan SQL dieksekusi sekaligus.

  • false (default): Satu pernyataan SQL dieksekusi sekaligus.

Catatan

Parameter ini hanya didukung untuk pengujian di lingkungan pengembangan data.

DATAWORKS_SESSION_DISABLE

Metode pengiriman tugas. Selama pengembangan data, tugas dikirim ke SQL Compute untuk dieksekusi secara default. Anda dapat menggunakan parameter ini untuk menentukan apakah tugas dieksekusi melalui SQL Compute atau dikirim ke antrian untuk dieksekusi.

  • true: Tugas dikirim ke antrian untuk dieksekusi. Secara default, antrian default yang ditentukan saat sumber daya komputasi dihubungkan akan digunakan. Ketika DATAWORKS_SESSION_DISABLE diatur ke true, Anda dapat mengonfigurasi parameter SERVERLESS_QUEUE_NAME untuk menentukan antrian tempat tugas dikirim selama pengembangan data.

  • false (default): Tugas dikirim ke SQL Compute untuk dieksekusi.

    Catatan

    Parameter ini hanya berlaku selama eksekusi pengembangan data, bukan selama eksekusi terjadwal.

SERVERLESS_RELEASE_VERSION

Versi mesin Spark. Secara default, Default Engine Version yang dikonfigurasi di pengaturan kluster di bawah Compute Resource di Management Center akan digunakan. Untuk menetapkan versi mesin yang berbeda untuk tugas tertentu, konfigurasikan parameter ini.

Catatan

Parameter SERVERLESS_RELEASE_VERSION dalam konfigurasi lanjutan hanya berlaku ketika SQL Compute (session) yang ditentukan untuk kluster terdaftar berada dalam status berhenti di konsol EMR Serverless Spark.

SERVERLESS_QUEUE_NAME

Antrian sumber daya tempat tugas dikirim. Ketika tugas dikonfigurasi untuk dikirim ke antrian untuk dieksekusi, Default Resource Queue yang dikonfigurasi di pengaturan kluster di bawah Clusters di Management Center akan digunakan secara default. Jika Anda memiliki persyaratan isolasi dan manajemen sumber daya, Anda dapat menambahkan antrian. Untuk informasi selengkapnya, lihat Kelola antrian sumber daya.

Metode konfigurasi:

  • Tentukan antrian sumber daya untuk pengiriman tugas dengan mengonfigurasi parameter node.

  • Tentukan antrian sumber daya untuk pengiriman tugas dengan mengonfigurasi global Spark parameters.

Catatan
  • Parameter SERVERLESS_QUEUE_NAME dalam konfigurasi lanjutan hanya berlaku ketika SQL Compute (session) yang ditentukan untuk kluster terdaftar berada dalam status berhenti di konsol EMR Serverless Spark.

  • Selama eksekusi pengembangan data: Anda harus terlebih dahulu mengatur DATAWORKS_SESSION_DISABLE ke true agar tugas dikirim ke antrian untuk dieksekusi. Baru kemudian parameter SERVERLESS_QUEUE_NAME berlaku untuk menentukan antrian tugas.

  • Selama eksekusi terjadwal di Operation Center: Tugas dipaksa dikirim ke antrian untuk dieksekusi dan tidak dapat dikirim ke SQL Compute.

SERVERLESS_SQL_COMPUTE

SQL Compute (SQL session) yang digunakan. Secara default, Default SQL Compute yang dikonfigurasi di pengaturan kluster di bawah Compute Resource di Management Center akan digunakan. Untuk menetapkan sesi SQL yang berbeda untuk tugas tertentu, konfigurasikan parameter ini. Untuk informasi tentang cara membuat dan mengelola sesi SQL, lihat Kelola sesi SQL Compute.

Others

Parameter Spark Configuration kustom. Tambahkan parameter properti khusus Spark.

Format konfigurasi: "spark.eventLog.enabled": false. DataWorks secara otomatis menambahkan parameter tersebut ke kode yang dikirim ke kluster EMR dalam format: --conf key=value.

Catatan

DataWorks memungkinkan Anda mengonfigurasi parameter Spark global di tingkat ruang kerja untuk setiap modul DataWorks. Anda dapat menentukan apakah prioritas parameter Spark global lebih tinggi daripada parameter Spark yang dikonfigurasi dalam modul tertentu. Untuk informasi selengkapnya tentang konfigurasi parameter Spark global, lihat Konfigurasikan parameter Spark global.