全部产品
Search
文档中心

DataWorks:Konfigurasikan sebuah node for-each

更新时间:Jul 02, 2025

DataWorks menyediakan node for-each yang memungkinkan Anda melakukan iterasi pada set hasil dari node penugasan. Anda juga dapat menyesuaikan node dalam dari node for-each. Topik ini menjelaskan cara kerja node for-each dan cara mengonfigurasinya. Sebagai contoh, node for-each digunakan untuk mengulang keluaran node penugasan dua kali, dengan menampilkan jumlah iterasi saat ini di setiap iterasi.

Prasyarat

Sebelum mengonfigurasi node for-each, pastikan Anda memahami logika node tersebut untuk menghindari kesalahan selama konfigurasi. Untuk informasi lebih lanjut tentang logika node for-each, lihat Logika Node For-Each.

Prosedur

Node for-each biasanya digunakan bersama dengan node penugasan. Bagian ini menjelaskan langkah-langkah penggunaannya.

Node Iterasi

  1. Konfigurasikan dependensi untuk node for-each.

    Node for-each harus bergantung pada node penugasan. Untuk panduan konfigurasi dependensi, lihat Buat dan Konfigurasikan Alur Kerja.

  2. Konfigurasikan input untuk node for-each.

    Pada bagian Input and Output Parameters di tab Properti node for-each, tambahkan parameter output bawaan bernama outputs dari node penugasan ke Input Parameters sebagai parameter input. Untuk informasi lebih lanjut tentang konfigurasi node penugasan, lihat Konfigurasikan Node Penugasan.

  3. Konfigurasikan node dalam dari node for-each untuk mendapatkan parameter input.

    Anda dapat menyesuaikan alur kerja dalam node for-each sesuai kebutuhan bisnis, mengonfigurasi variabel bawaan untuk mendapatkan nilai parameter input yang diinginkan, lalu menjalankan node for-each. Untuk informasi tentang variabel bawaan, lihat Variabel Bawaan. Untuk panduan konfigurasi node for-each, lihat Konfigurasikan Node For-Each.

  4. Uji node for-each. Pengujian tidak dapat dilakukan di DataStudio.

    Untuk menguji node for-each, buka Operation Center, temukan node dalam yang diinginkan, lalu klik nama node untuk melihat detailnya. Untuk informasi lebih lanjut, lihat Uji Node For-Each dan Lihat Hasil Uji.

    Catatan

    Jika ingin memeriksa apakah node penugasan meneruskan output ke node for-each di Operation Center, gunakan fitur Pengisian Ulang Data dan pilih node penugasan serta node for-each. Output dari node penugasan tidak dapat diperoleh jika hanya menjalankan node for-each.

Buat dan konfigurasikan alur kerja

Untuk membuat alur kerja yang mencakup node penugasan sebagai node leluhur dan node for-each sebagai node turunan, ikuti langkah-langkah berikut:

  1. Buka halaman DataStudio.

    Masuk 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 dari daftar drop-down dan klik Go to Data Development.

  2. Buat Alur Kerja yang Dipicu Otomatis.

  3. Buat node for-each.

    1. Di panel Alur Kerja Terjadwal, gerakkan kursor di atas ikon Tambah Baru dan pilih Create Node > General > for-each.

      Sebagai alternatif, Anda dapat menemukan alur kerja yang diinginkan di bagian Business Flow, klik kanan alur kerja tersebut, lalu pilih Create Node > General > for-each.

    2. Di kotak dialog Create Node, konfigurasikan parameter seperti Nama dan Jalur.

    3. Klik Confirm.

  4. Buat node penugasan.

    1. Klik dua kali alur kerja untuk membuka tab konfigurasi alur kerja. Klik + Create Node dan seret Assignment Node di bagian General ke kanvas di sebelah kanan.

      Untuk informasi tentang node penugasan, lihat Konfigurasikan Node Penugasan.Penugasan

    2. Di kotak dialog Create Node, konfigurasikan parameter Nama dan Jalur. Secara default, node penugasan ditempatkan di alur kerja saat ini.

    3. Klik Confirm.

  5. Seret garis terarah untuk mengonfigurasi node penugasan sebagai node leluhur dari node for-each.

    Dependensi

Konfigurasikan node penugasan

  1. Di tab konfigurasi alur kerja yang dibuat, klik dua kali nama node penugasan yang Anda buat. Tab konfigurasi node penugasan akan muncul.

  2. Pilih SHELL dari daftar drop-down Language.

  3. Masukkan pernyataan berikut di editor kode:

    echo 'ini adalah nama,ok';
  4. Di panel navigasi kanan, klik tab Properties. Di tabel Output Parameters di bagian Input and Output Parameters, lihat informasi tentang parameter outputs. Parameter outputs adalah parameter output default dari node penugasan.

    outputs

  5. Klik ikon Simpan di bilah alat atas untuk menyimpan node penugasan.

  6. Klik ikon Kirim di bilah alat atas untuk mengirimkan node penugasan.

    Di kotak dialog Submit, konfigurasikan parameter Change description. Kemudian, tentukan apakah akan meninjau kode node setelah pengiriman berdasarkan kebutuhan bisnis Anda.

    Penting
    • Anda harus mengonfigurasi parameter Rerun dan Parent Nodes di tab Properti sebelum mengirimkan node.

    • Fitur tinjauan kode dapat digunakan untuk memastikan kualitas kode node dan mencegah kesalahan eksekusi akibat kode yang tidak valid. Jika fitur ini diaktifkan, kode yang dikirimkan hanya dapat diterapkan setelah lolos tinjauan. Untuk informasi lebih lanjut, lihat Tinjauan Kode.

    Jika ruang kerja Anda berada dalam mode standar, klik Deploy di sudut kanan atas tab konfigurasi node untuk menerapkan node ke lingkungan produksi setelah pengiriman. Untuk informasi lebih lanjut, lihat Terapkan Node.

Konfigurasikan node for-each

  1. Klik dua kali node for-each yang telah dibuat. Tab konfigurasi node for-each akan muncul. Secara default, node start, shell, dan end ditampilkan di tab.

    Anda dapat mengganti node Shell dengan node lain sesuai kebutuhan bisnis:

    • Jika menggunakan node Shell, langsung konfigurasikan node tersebut.

    • Jika ingin menggunakan jenis node lain, hapus node Shell default dan buat node baru sesuai tipe yang diperlukan.

    Dalam contoh ini, node Shell digunakan.

  2. Konfigurasikan node Shell.

    1. Klik dua kali node Shell. Tab konfigurasi node Shell akan muncul.

    2. Masukkan kode berikut di editor kode:

      echo ${dag.loopTimes} ----Menampilkan jumlah iterasi saat ini.

      Catatan
      • Node awal dan akhir dari node for-each memiliki logika tetap dan tidak dapat diedit.

      • Setelah memodifikasi kode node Shell, simpan modifikasi tersebut. Tidak ada pesan yang mengingatkan Anda untuk menyimpan modifikasi ketika mengirimkan node. Jika tidak disimpan, kode tidak akan diperbarui ke versi terbaru tepat waktu.

      Node for-each mendukung variabel lingkungan berikut:

      • ${dag.foreach.current}: entri data saat ini.

      • ${dag.loopDataArray}: dataset input.

      • ${dag.offset}: offset jumlah iterasi ke 1.

      • ${dag.loopTimes}: jumlah iterasi, nilainya sama dengan nilai ${dag.offset} ditambah 1.

      Untuk informasi lebih lanjut tentang variabel, lihat Variabel Bawaan dan Contoh Nilai Variabel.

  3. Konfigurasikan properti penjadwalan node for-each.

    1. Di tab konfigurasi node for-each, klik tab Properties di panel navigasi kanan.

    2. Temukan parameter loopDataArray di tabel Input Parameters di bagian Input and Output Parameters dan klik Change di kolom Aksi. Parameter loopDataArray adalah parameter input default dari node for-each.

    3. Pilih parameter outputs dari node penugasan dari daftar drop-down di kolom Value Source dan klik Save.

      outputs

      Catatan

      Setelah mengonfigurasi node penugasan sebagai node leluhur dari node for-each, tentukan parameter input untuk node for-each di tab Properti. Jika tidak ditentukan, kesalahan akan terjadi saat mengirimkan node for-each.

  4. Klik ikon Simpan di bilah alat atas untuk menyimpan node for-each.

  5. Klik ikon Kirim di bilah alat atas untuk mengirimkan node for-each.

    Penting

    Anda harus mengonfigurasi parameter Rerun dan Parent Nodes di tab Properti sebelum mengirimkan node.

    Di kotak dialog Commit, pilih node dalam yang ingin dikirimkan, masukkan komentar di bidang Deskripsi, lalu klik Commit.

    Jika ruang kerja Anda berada dalam mode standar, klik Deploy di sudut kanan atas tab konfigurasi node untuk menerapkan node setelah pengiriman. Untuk informasi lebih lanjut, lihat Terapkan Node.

Uji node for-each dan lihat hasil uji

  1. Di tab konfigurasi node, klik Operation Center di sudut kanan atas untuk membuka Operation Center.

  2. Di panel navigasi kiri halaman Operation Center, pilih Cycle Task Maintenance > Cycle Task.

  3. Di halaman Tugas Siklus, temukan node for-each dan klik DAG di kolom Aksi untuk membuka grafik asiklik terarah (DAG) dari node for-each. Di DAG node for-each, klik kanan node penugasan dan pilih Run > Current and Descendent Nodes Retroactively. Di kotak dialog Patch Data, konfigurasikan parameter dan klik OK.

    Pengisian Ulang Data

  4. Segarkan halaman Patch Data. Setelah instance pengisian ulang data dijalankan, klik DAG di kolom Aksi instance.

  5. Di DAG yang muncul, klik kanan node penugasan dan pilih View Runtime Log untuk melihat log operasionalnya.

    Hasil Node Penugasan

  6. Di halaman Patch Data, klik kanan node for-each di DAG dan pilih View Internal Nodes.

    Node Internal

  7. Di halaman yang muncul, klik Loop 1 di panel tengah, klik kanan node Shell di DAG, lalu pilih View Runtime Log.

    Log Operasional

    Di halaman yang muncul, lihat log operasional node Shell pada iterasi pertama.1

  8. Gunakan metode yang sama untuk melihat log operasional node Shell pada iterasi kedua.

    2