Branch node adalah jenis node alur kendali di Data Studio yang memungkinkan Anda mendefinisikan logika percabangan dan mengarahkan tugas ke cabang downstream berbeda berdasarkan kondisi tertentu.
Ikhtisar
Branch node mengevaluasi parameter output dari node upstream menggunakan operator perbandingan Python. Evaluasi ini menghasilkan beberapa cabang kondisional, sehingga memungkinkan eksekusi node downstream yang berbeda tergantung pada hasil evaluasi upstream.
Prasyarat
-
Pengguna RAM yang ingin Anda gunakan telah ditambahkan ke ruang kerja Anda.
Jika Anda ingin menggunakan Pengguna RAM untuk mengembangkan tugas, Anda harus menambahkan Pengguna RAM tersebut ke ruang kerja sebagai anggota dan memberikan peran Develop atau Workspace Administrator kepada Pengguna RAM tersebut. Peran Workspace Administrator memiliki lebih banyak izin daripada yang diperlukan. Berhati-hatilah saat memberikan peran ini. Untuk informasi selengkapnya tentang cara menambahkan anggota dan memberikan peran, lihat Add members to a workspace.
Kelompok sumber daya arsitektur tanpa server telah dikaitkan dengan ruang kerja Anda. Untuk informasi selengkapnya, lihat topik dalam direktori Use serverless resource groups.
Sebelum mengonfigurasi branch node, Anda harus membuatnya terlebih dahulu. Untuk informasi selengkapnya, lihat Create a scheduling workflow node.
Catatan penggunaan
Branch node hanya tersedia di DataWorks Edisi Standar atau versi yang lebih baru. Untuk informasi selengkapnya tentang edisi DataWorks dan cara membelinya, lihat DataWorks editions.
Satu branch node mendukung maksimal 50 cabang.
Branch node biasanya digunakan bersama dengan assignment node. Untuk informasi selengkapnya, lihat Assignment node.
Jika kondisi untuk cabang downstream tidak terpenuhi, tugas dalam cabang tersebut masuk ke status dry run. Log mencatat pesan yang mirip dengan
It's set condition-skip by task.Kondisi percabangan tidak mendukung penggunaan string kosong (
'') untuk evaluasi. Misalnya, jika kondisi percabangan adalah'${tp_code}' != ''dan nilai parameternya berupa spasi, maka spasi tersebut dievaluasi sebagai "memiliki nilai" (spasi tidak sama dengan string kosong), sehingga cabang tetap dipilih. Disarankan untuk menggunakan placeholder khusus guna merepresentasikan nilai kosong. Sebagai contoh, atur nilai default parameter menjaditp_code='NONE', lalu konfigurasikan kondisi percabangan sebagai'${tp_code}' != 'NONE'.
Langkah 1: Mengembangkan node cabang
Buka halaman konfigurasi branch node untuk mendefinisikan logika percabangan.
Pada halaman Definition, klik Add Branch.
Pada kotak dialog Branch Definition, konfigurasikan parameter-parameter berikut.
Parameter
Deskripsi
Condition
Kondisi percabangan didefinisikan menggunakan operator perbandingan Python.
Jika suatu ekspresi dievaluasi sebagai
truepada waktu proses, maka kondisi percabangan terpenuhi.Jika suatu ekspresi tidak dapat diurai pada waktu proses, seluruh instans branch node gagal.
Anda dapat menggunakan variabel global dan parameter yang didefinisikan dalam konteks node di dalam kondisi tersebut. Misalnya,
${input}dapat berupa parameter input dari branch node.
Associated Node Output
Output node menciptakan dependensi untuk node downstream.
Jika kondisi percabangan terpenuhi, node downstream yang bergantung pada output yang ditautkan akan dijalankan. Eksekusinya juga bergantung pada status node upstream lainnya.
Jika kondisi percabangan tidak terpenuhi, node downstream yang bergantung pada output yang ditautkan tidak dijalankan. Status node tersebut diatur menjadi
Not run because branch condition not met.
Description
Deskripsi singkat mengenai definisi percabangan. Misalnya, Anda dapat mendefinisikan dua cabang dengan kondisi ${input}==1 dan ${input}>2.
Konfigurasikan node downstream.
Anda dapat mengonfigurasi berbagai jenis node di downstream branch node. Contoh ini menggunakan node MySQL.
Buat dua node MySQL bernama
branch_1danbranch_2, lalu buka halaman pengembangan masing-masing node.Di sisi kanan halaman pengembangan node MySQL, pilih , klik Add Dependency, pilih node branch upstream dan output yang sesuai, lalu simpan konfigurasi.
Setelah selesai mengembangkan branch node dan node downstream-nya, konfigurasikan properti penjadwalannya agar dapat dijalankan secara berkala. Untuk informasi selengkapnya, lihat Configure scheduling properties for nodes.
Langkah 2: Deploy dan kelola node
Setelah menyelesaikan konfigurasi penjadwalan, deploy node ke lingkungan produksi. Untuk informasi selengkapnya, lihat Deploy nodes and workflows.
Setelah tugas di-deploy, tugas tersebut dijalankan secara berkala sesuai jadwal yang dikonfigurasi. Anda dapat membuka untuk melihat tugas terjadwal yang telah di-deploy dan melakukan operasi serta pemeliharaan (O&M). Untuk informasi selengkapnya, lihat Introduction to Operation Center.
Lampiran: Operator perbandingan Python
Asumsikan variabel a bernilai 10 dan variabel b bernilai 20.
Operator | Deskripsi | Contoh |
== | Memeriksa apakah dua objek sama. |
|
!= | Memeriksa apakah dua objek tidak sama. |
|
<> | Memeriksa apakah dua objek tidak sama. |
|
> | Memeriksa apakah x lebih besar daripada y. |
|
< | Memeriksa apakah x lebih kecil daripada y. Semua operator perbandingan mengembalikan |
|
>= | Memeriksa apakah x lebih besar dari atau sama dengan y. |
|
<= | Memeriksa apakah x lebih kecil dari atau sama dengan y. |
|