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.

Konfigurasikan dependensi untuk node for-each.
Node for-each harus bergantung pada node penugasan. Untuk panduan konfigurasi dependensi, lihat Buat dan Konfigurasikan Alur Kerja.
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.
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.
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.
CatatanJika 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:
Buka halaman DataStudio.
Masuk ke Konsol DataWorks. Di bilah navigasi atas, pilih wilayah yang diinginkan. Di panel navigasi kiri, pilih . Pada halaman yang muncul, pilih ruang kerja dari daftar drop-down dan klik Go to Data Development.
Buat node for-each.
Di panel Alur Kerja Terjadwal, gerakkan kursor di atas ikon
dan pilih .Sebagai alternatif, Anda dapat menemukan alur kerja yang diinginkan di bagian Business Flow, klik kanan alur kerja tersebut, lalu pilih .
Di kotak dialog Create Node, konfigurasikan parameter seperti Nama dan Jalur.
Klik Confirm.
Buat node penugasan.
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.

Di kotak dialog Create Node, konfigurasikan parameter Nama dan Jalur. Secara default, node penugasan ditempatkan di alur kerja saat ini.
Klik Confirm.
Seret garis terarah untuk mengonfigurasi node penugasan sebagai node leluhur dari node for-each.

Konfigurasikan node penugasan
Di tab konfigurasi alur kerja yang dibuat, klik dua kali nama node penugasan yang Anda buat. Tab konfigurasi node penugasan akan muncul.
Pilih SHELL dari daftar drop-down Language.
Masukkan pernyataan berikut di editor kode:
echo 'ini adalah nama,ok';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.

Klik ikon
di bilah alat atas untuk menyimpan node penugasan.Klik ikon
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.
PentingAnda 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
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.
Konfigurasikan node Shell.
Klik dua kali node Shell. Tab konfigurasi node Shell akan muncul.
Masukkan kode berikut di editor kode:
echo ${dag.loopTimes} ----Menampilkan jumlah iterasi saat ini.CatatanNode 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.
Konfigurasikan properti penjadwalan node for-each.
Di tab konfigurasi node for-each, klik tab Properties di panel navigasi kanan.
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.
Pilih parameter outputs dari node penugasan dari daftar drop-down di kolom Value Source dan klik Save.
CatatanSetelah 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.
Klik ikon
di bilah alat atas untuk menyimpan node for-each.Klik ikon
di bilah alat atas untuk mengirimkan node for-each.PentingAnda 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
Di tab konfigurasi node, klik Operation Center di sudut kanan atas untuk membuka Operation Center.
Di panel navigasi kiri halaman Operation Center, pilih .
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 . Di kotak dialog Patch Data, konfigurasikan parameter dan klik OK.

Segarkan halaman Patch Data. Setelah instance pengisian ulang data dijalankan, klik DAG di kolom Aksi instance.
Di DAG yang muncul, klik kanan node penugasan dan pilih View Runtime Log untuk melihat log operasionalnya.

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

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

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

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