全部产品
Search
文档中心

DataWorks:Buat node EMR Spark SQL

更新时间:Nov 10, 2025

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_pod dan menggunakan gambar kustom di DataStudio.

    Misalnya, Anda dapat mengganti paket JAR Spark atau menyertakan libraries, files, atau paket JAR tertentu 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

  1. Buka halaman DataStudio.

    Login ke Konsol DataWorks. Di bilah navigasi atas, pilih wilayah yang diinginkan. Di panel navigasi kiri, pilih Data Development and O&M > Data Development. Pada halaman yang muncul, pilih ruang kerja yang diinginkan dari daftar drop-down dan klik Go to Data Development.

  2. Buat node EMR Spark SQL.

    1. Klik kanan alur bisnis target dan pilih New Node > EMR > EMR Spark SQL.

      Catatan

      Atau, arahkan kursor ke New dan pilih New Node > EMR > EMR Spark SQL.

    2. Pada kotak dialog New Node, atur Name, Engine Instance, Node Type, dan Path. Klik Confirm. Tab konfigurasi node EMR Spark SQL akan muncul.

      Catatan

      Nama 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.
Catatan
  • 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:

  • true: Beberapa pernyataan SQL dieksekusi sekaligus.

  • false (default): Satu pernyataan SQL dieksekusi dalam satu waktu.

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:

  • true: Mengirimkan kode SQL menggunakan Java Database Connectivity (JDBC). Jika kluster EMR tidak memiliki layanan Kyuubi, kode SQL dikirimkan ke Spark Thrift Server. Jika kluster EMR memiliki layanan Kyuubi, kode SQL dikirimkan ke Kyuubi menggunakan JDBC, dan parameter Spark kustom didukung.

    Kedua metode mendukung alur metadata, tetapi tugas yang dikirimkan ke Thrift Server tidak akan memiliki informasi keluaran tugas node yang sesuai dalam metadata.

  • false (default): Mengirimkan kode SQL menggunakan metode `spark-submit cluster`. Dalam mode pengiriman ini, baik Spark 2 maupun Spark 3 mendukung alur metadata dan informasi keluaran. Parameter Spark kustom juga didukung.

    Catatan
    • Mode pengiriman spark-submit cluster membuat file dan direktori sementara di direktori /tmp pada HDFS kluster EMR secara default. Anda harus memastikan bahwa direktori ini memiliki izin baca dan tulis.

    • Jika Anda memilih mode pengiriman spark-submit cluster, Anda dapat langsung menambahkan parameter SparkConf kustom dalam konfigurasi lanjutan. Setelah Anda meng-commit kode, DataWorks secara otomatis menambahkan parameter baru ke perintah. Misalnya, "spark.driver.memory" : "2g".

DATAWORKS_SESSION_DISABLE

Berlaku untuk skenario di mana Anda langsung menguji dan menjalankan tugas di lingkungan pengembangan. Nilai yang valid:

  • true: Koneksi JDBC baru dibuat setiap kali pernyataan SQL dijalankan.

  • false (default): Koneksi JDBC yang sama digunakan kembali ketika pengguna menjalankan pernyataan SQL berbeda dalam satu node.

Catatan

Saat parameter ini diatur ke false, yarn applicationId Hive tidak dicetak. Untuk mencetak yarn applicationId, atur parameter ini ke true.

Lainnya

Parameter Konfigurasi Spark kustom. Tambahkan parameter atribut khusus Spark.

Format konfigurasi adalah sebagai berikut: "spark.eventLog.enabled":false . DataWorks secara otomatis menambahkan konfigurasi ke kode yang dikirimkan ke kluster EMR dalam format berikut: --conf key=value. Untuk informasi selengkapnya tentang konfigurasi parameter, lihat Mengatur parameter Spark global.

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 mengaktifkan kontrol akses Ranger, tambahkan konfigurasi spark.hadoop.fs.oss.authorization.method=ranger di Mengatur parameter Spark global untuk memastikan kontrol akses Ranger berlaku.

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:

  • true: Beberapa pernyataan SQL dieksekusi sekaligus.

  • false (default): Satu pernyataan SQL dieksekusi dalam satu waktu.

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.

  • true: Tugas dikirimkan ke antrian untuk dieksekusi. Antrian default yang ditentukan saat Anda mengaitkan sumber daya komputasi digunakan secara default. Saat parameter DATAWORKS_SESSION_DISABLE diatur ke true, Anda dapat mengonfigurasi parameter SERVERLESS_QUEUE_NAME untuk menentukan antrian tempat tugas dikirimkan untuk dieksekusi di Pengembangan Data.

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

    Catatan

    Parameter ini hanya berlaku selama eksekusi di Pengembangan Data dan tidak berlaku selama waktu proses terjadwal.

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_RELEASE_VERSION dalam konfigurasi Pengaturan Lanjutan hanya berlaku ketika SQL Compute (sesi) yang ditentukan oleh kluster terdaftar belum dimulai di konsol EMR Serverless Spark.

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:

  • Atur parameter node untuk menentukan antrian sumber daya untuk pengiriman tugas.

  • Tentukan antrian sumber daya untuk pengiriman tugas dengan mengatur parameter Spark global.

Catatan
  • Parameter SERVERLESS_QUEUE_NAME dalam Pengaturan Lanjutan hanya berlaku ketika SQL Compute (sesi) yang ditentukan untuk kluster terdaftar belum dimulai di konsol EMR Serverless Spark.

  • Saat Anda menjalankan pekerjaan di Pengembangan Data: Anda harus terlebih dahulu mengatur DATAWORKS_SESSION_DISABLE ke true agar pekerjaan dikirimkan ke antrian untuk dieksekusi. Hanya dengan demikian parameter SERVERLESS_QUEUE_NAME yang Anda konfigurasi untuk menentukan antrian pekerjaan berlaku.

  • Selama eksekusi terjadwal di Pusat Operasi: Tugas dipaksa dikirimkan ke antrian untuk dieksekusi dan tidak dapat dikirimkan ke SQL Compute untuk dieksekusi.

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: "spark.eventLog.enabled":"false". DataWorks secara otomatis melengkapi kode dalam format --conf key=value dalam kode yang akhirnya dikirimkan ke kluster EMR.

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.

Catatan

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:

  • true: Beberapa pernyataan SQL dieksekusi sekaligus.

  • false (default): Satu pernyataan SQL dieksekusi dalam satu waktu.

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: "spark.eventLog.enabled":false. DataWorks secara otomatis melengkapi kode dalam format --conf key=value dalam kode yang akhirnya dikirimkan ke kluster EMR.

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:

  • true: Beberapa pernyataan SQL dieksekusi sekaligus.

  • false (default): Satu pernyataan SQL dieksekusi dalam satu waktu.

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:

  • true: Kirim melalui kluster Gateway.

  • false (default): Jangan kirim melalui kluster Gateway. Pekerjaan dikirimkan ke node header secara default.

Catatan

Jika Anda secara manual mengatur parameter ini ke true untuk node di kluster yang tidak dikaitkan dengan kluster Gateway, pengiriman pekerjaan EMR selanjutnya akan gagal.

Lainnya

Parameter Konfigurasi Spark kustom. Tambahkan parameter atribut khusus Spark.

Format konfigurasi adalah sebagai berikut: "spark.eventLog.enabled":false. DataWorks secara otomatis mengonversi konfigurasi ini ke format --conf key=value dalam kode yang dikirimkan ke kluster EMR. Untuk informasi selengkapnya tentang konfigurasi parameter, lihat Mengatur Parameter Spark Global.

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 mengaktifkan kontrol akses Ranger, tambahkan konfigurasi spark.hadoop.fs.oss.authorization.method=ranger di Mengatur parameter Spark global untuk memastikan kontrol akses Ranger berlaku.

Eksekusi tugas SQL

  1. Pada bilah alat, klik ikon 高级运行. Pada kotak dialog Parameters, pilih kelompok sumber daya penjadwalan yang telah Anda buat dan klik Run.

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

  2. Klik ikon 保存 untuk menyimpan pernyataan SQL.

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

Catatan

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.

  1. Klik ikon 保存 di bilah alat atas untuk menyimpan tugas.

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

    Catatan
    • Anda 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