All Products
Search
Document Center

DataWorks:Jenis dependensi penjadwalan: Dependensi lintas siklus

Last Updated:Mar 27, 2026

Dependensi penjadwalan lintas siklus memungkinkan instans node pada siklus saat ini menunggu satu atau beberapa instans dari siklus sebelumnya berhasil sebelum mulai berjalan. Gunakan jenis dependensi ini ketika node Anda memerlukan data yang dihasilkan dalam siklus penjadwalan sebelumnya—misalnya, ketika node harian membutuhkan output dari hari sebelumnya atau ketika node per jam harus memproses siklusnya secara berurutan.

Dependensi lintas siklus dan dependensi dalam satu siklus memiliki tujuan berbeda. Dependensi dalam satu siklus mengatur urutan eksekusi *dalam* satu siklus penjadwalan (dari hulu ke hilir). Dependensi lintas siklus mengatur apakah suatu node dapat mulai berjalan atau tidak hingga eksekusi siklus sebelumnya berhasil. Secara default, fitur penguraian otomatis untuk dependensi penjadwalan dalam satu siklus diaktifkan. Setelah mengonfigurasi dependensi lintas siklus, periksa apakah dependensi dalam satu siklus yang dibuat otomatis masih diperlukan. Hapus jika tidak, karena node tersebut mungkin terblokir secara tak terduga.

Dependensi lintas siklus ditampilkan sebagai garis putus-putus dalam grafik asiklik terarah (DAG) suatu node. Setelah dikonfigurasi, deploy node tersebut beserta node leluhurnya ke lingkungan produksi untuk melihat dependensinya di Operation Center.

Jenis dependensi lintas siklus

DataWorks menyediakan tiga jenis dependensi lintas siklus:

Jenis dependensi Gunakan saat
Self-dependency — instans siklus sebelumnya dari node yang sama Node harus memproses siklusnya secara berurutan. Instans siklus saat ini memerlukan data dari eksekusi siklus sebelumnya dari node yang sama.
Dependensi node turunan level-1 — instans siklus sebelumnya dari node turunan level-1 Instans siklus saat ini perlu memastikan bahwa data tabel output dari siklus sebelumnya milik node tersebut telah dibersihkan oleh node turunan level-1.
Dependensi node tertentu — instans siklus sebelumnya dari satu atau beberapa node yang ditentukan Instans siklus saat ini bergantung pada output siklus sebelumnya dari node lain berdasarkan logika bisnis, dan dependensi tersebut tidak diekspresikan dalam kode.

Menambahkan dependensi lintas siklus

Di Data Studio, buka tab konfigurasi node yang ingin dikonfigurasi. Di panel kanan, klik tab Properties, lalu buka Scheduling Dependencies > Node Dependencies > Add Dependency. Atur Dependency Type ke opsi lintas siklus yang sesuai, cari node leluhur berdasarkan nama, nama output, atau ID tugas penjadwalan, lalu klik Add.

image

Klik Save setelah menambahkan semua dependensi.

Self-dependency

Gunakan self-dependency ketika instans siklus saat ini bergantung pada data terbaru yang dihasilkan oleh node yang sama dalam siklus sebelumnya. Hal ini memastikan siklus node berjalan secara berurutan—setiap siklus hanya dimulai setelah siklus sebelumnya berhasil.

Perilaku berdasarkan jenis jadwal:

  • Node per jam: Instans jam saat ini menunggu instans jam sebelumnya berhasil.

  • Node harian: Instans hari saat ini menunggu instans hari sebelumnya berhasil.

imageimage

Konfigurasikan ketergantungan mandiri:

  1. Di Data Studio, buka tab konfigurasi Node A. Klik tab Properties, lalu klik Scheduling Dependencies.

  2. Di bagian Node Dependencies, klik Add Dependency. Atur Dependency Type ke Cross-cycle Self Dependency, lalu klik Add. DataWorks akan menambahkan instans siklus sebelumnya dari Node A sebagai dependensi leluhur.

  3. Klik Save.

Hasil eksekusi instans yang dihasilkan untuk node berjadwal per jam dalam siklus penjadwalan berbeda dan instans yang dihasilkan untuk node berjadwal harian dalam siklus penjadwalan berbeda saling memengaruhi satu sama lain.

Efek self-dependency pada node dependen harian:

Jika node harian bergantung pada node per jam atau per menit, apakah self-dependency diaktifkan pada node per jam/per menit tersebut akan mengubah instans mana yang ditunggu oleh node harian:

  • Node per jam/per menit tanpa self-dependency: Node harian menunggu *semua* instans per jam atau per menit pada hari tersebut. Gunakan ini ketika node harian mengagregasi seluruh data hari tersebut.

  • Node per jam/per menit dengan self-dependency: Node harian hanya bergantung pada *satu instans spesifik* per jam atau per menit—yaitu instans yang waktu penjadwalannya paling dekat dengan waktu penjadwalan node harian, berdasarkan prinsip kedekatan waktu penjadwalan.

Untuk detail lebih lanjut, lihat Skenario dependensi kompleks.

Dependensi node turunan level-1

Gunakan jenis dependensi ini ketika instans siklus saat ini perlu memastikan bahwa data tabel output dari siklus sebelumnya milik node tersebut telah dibersihkan oleh node turunan level-1 sebelum node tersebut dijalankan kembali.

Instans siklus saat ini menunggu instans siklus sebelumnya dari node turunan level-1 berhasil sebelum mulai berjalan.

image

Cara kerja rantai dependensi (contoh dengan node A, B, C):

Instance Membaca dari Menulis ke
Instans C1 (siklus T-2) Tabel output Instans A dan B pada partisi T-2 Tabel C1 pada partisi T-1
Instans A1 dan B1 (siklus T-1) Tabel output Instans C1 pada T-1 Tabel A1 dan B1 pada T-1
Instans C2 (siklus T-1) — hanya dimulai setelah A1 dan B1 berhasil Tabel output Instans A1 dan B1 pada partisi T-1 Tabel C2 pada partisi T
Instans A2 dan B2 (siklus T) Tabel output Instans C2 pada T Tabel A2 dan B2 pada T

Mengonfigurasi dependensi node turunan level-1:

  1. Di Data Studio, buka tab konfigurasi Node C. Klik tab Properties, lalu klik Scheduling Dependencies.

  2. Di bagian Node Dependencies, klik Add Dependency. Atur Dependency Type ke Cross-cycle Dependency on Level-1 Descendant Node. DataWorks secara otomatis mengidentifikasi kandidat node leluhur berdasarkan kode terbaru. Pilih Nodes A and B sebagai node leluhur.

  3. Klik Save.

Dependensi node tertentu

Gunakan jenis dependensi ini ketika instans siklus saat ini bergantung pada output siklus sebelumnya dari node lain berdasarkan logika bisnis, dan dependensi tersebut tidak tercermin dalam kode.

Instans siklus saat ini menunggu satu atau beberapa instans siklus sebelumnya dari node yang ditentukan berhasil sebelum mulai berjalan.

image

Contoh: Node C memiliki dua node turunan, A dan B. Node B pada siklus saat ini (T) harus menunggu instans siklus sebelumnya (T-1) dari Node D berhasil. Node D berada di luar alur kerja yang dibentuk oleh Node A, B, dan C.

Mengonfigurasi dependensi node tertentu:

  1. Di Data Studio, buka tab konfigurasi Node B. Klik tab Properties, lalu klik Scheduling Dependencies.

  2. Di bagian Node Dependencies, klik Add Dependency. Konfigurasikan hal berikut:

    • Dependency Type: Cross-cycle Dependency

    • Ancestor Object: Name — pilih Node D

  3. Pilih Node D sebagai node leluhur dari Node B, lalu klik Save.

Lanjutan

Sebelum melakukan deploy ke lingkungan produksi, pratinjau dependensi penjadwalan untuk memastikan perilakunya sesuai harapan. Untuk detailnya, lihat Lampiran: Gunakan fitur yang tersedia dalam DAG dan Periksa apakah dependensi penjadwalan sesuai ekspektasi Anda.

Topik terkait: