全部产品
Search
文档中心

DataWorks:Node pemeriksaan dependensi

更新时间:Jan 07, 2026

Dependensi hulu dan hilir standar mungkin tidak mencukupi untuk skenario bisnis yang kompleks. Misalnya, sebuah node harian mungkin perlu menunggu semua node per jam dari hari sebelumnya selesai. Anda juga mungkin perlu menggabungkan kondisi dari beberapa node menggunakan logika AND/OR. Dalam kasus seperti ini, Anda memerlukan alat yang lebih fleksibel. Topik ini menjelaskan cara menggunakan node pemeriksaan dependensi untuk membangun pemeriksaan dependensi kompleks lintas siklus, alur kerja, dan ruang kerja, sehingga Anda dapat mengontrol secara tepat kapan suatu node dipicu guna memastikan pemrosesan data yang akurat dan tepat waktu.

Ikhtisar fungsi

Node pemeriksaan dependensi adalah alat yang kuat dan fleksibel untuk menangani skenario dependensi lintas siklus yang kompleks. Misalnya, sebuah node harian mungkin perlu menunggu semua node per jam dari hari sebelumnya berhasil sebelum dijalankan. Sebuah node juga mungkin perlu memenuhi kondisi dari beberapa node di ruang kerja yang berbeda.

Fitur utama:

  • Dependensi lintas entitas: Tetapkan dependensi lintas ruang kerja dan alur kerja.

  • Dependensi lintas siklus: Tentukan rentang waktu yang tepat untuk instans node leluhur dalam dependensi lintas siklus.

  • Kombinasi logika kompleks: Gabungkan beberapa kondisi pemeriksaan dependensi menggunakan hubungan AND dan OR.

  • Kebijakan pemeriksaan kustom: Tetapkan frekuensi pemeriksaan dan waktu tunggu maksimum kustom. Node akan gagal jika pemeriksaan melebihi batas waktu.

Ikhtisar antarmuka konfigurasi

Konfigurasi untuk node pemeriksaan dependensi terdiri dari dua bagian utama: Check dependencies dan Check settings.

image

Konfigurasikan node pemeriksaan dependensi

Inti dari konfigurasi node pemeriksaan dependensi adalah membangun logika pemeriksaan dependensinya. Anda dapat mendefinisikan beberapa item pemeriksaan dan kelompok pemeriksaan serta menggabungkannya menggunakan hubungan AND/OR. Setiap item pemeriksaan mengarah ke instans satu atau beberapa node leluhur dalam rentang waktu tertentu. Saat node pemeriksaan dependensi dijalankan, ia mengevaluasi seluruh ekspresi logika tersebut dan mengembalikan nilai Boolean (True/False) yang menentukan apakah node turunan akan dieksekusi atau diblokir.

image

Konfigurasikan item pemeriksaan dependensi

Anda dapat menetapkan beberapa kelompok pemeriksaan dalam node pemeriksaan dependensi. Setiap kelompok dapat berisi beberapa Check item untuk membangun jaringan dependensi yang kompleks.

  1. Tambahkan kelompok pemeriksaan dan item pemeriksaan:

    • Klik + Add Item untuk membuat kondisi pemeriksaan dependensi baru.

    • Atur beberapa item pemeriksaan ke dalam satu kelompok pemeriksaan.

  2. Konfigurasikan konten item pemeriksaan:

    • Task: Masukkan Output Name, Name, atau ID dari node leluhur untuk mencari dan memilihnya.

      • Anda dapat memilih node dari alur kerja yang sama, alur kerja berbeda di ruang kerja ini, atau ruang kerja lain yang Anda miliki izinnya.

        Penting

        Untuk dependensi penjadwalan lintas ruang kerja atau lintas alur kerja yang sederhana, lihat Configure cross-workflow and cross-workspace scheduling dependencies.

      • Jika Anda memilih node yang belum dipublikasikan ke lingkungan produksi, sistem akan menampilkan prompt berikut: The selected node is not published to the production environment. The check may fail at runtime.

    • Period: Periode menentukan instans historis mana dari node leluhur yang diperiksa saat waktu proses. Pilih jenis periode sesuai kebutuhan Anda. Tabel berikut memberikan rincian lebih lanjut.

      Catatan

      Kondisi dalam satu item pemeriksaan digabungkan menggunakan hubungan AND. Misalnya, jika Anda memilih semua node per jam untuk hari ini, semuanya harus berhasil dijalankan agar pemeriksaan mengembalikan nilai True.

      Jenis periode

      Opsi

      Deskripsi

      Minute

      Previous X minutes (X adalah 0–59)

      Memeriksa instans dari X menit sebelum waktu saat ini. Current minute bersesuaian dengan Previous 0 minutes.

      Hour

      Previous X hours (X adalah 0–23)

      Memeriksa instans dari X jam sebelum waktu saat ini. Current hour bersesuaian dengan Previous 0 hours.

      Day

      Previous X days (X adalah 0–7)

      Memeriksa instans dari X hari yang lalu. Today bersesuaian dengan Previous 0 days.

      Week

      Monday to Sunday of this week, Monday to Sunday of last week, Last Monday, Last Tuesday ... Last Sunday.

      Memeriksa instans dalam rentang minggu yang ditentukan.

      Month

      First day to last day of this month, First day of this month, Last day of last month, dll.

      Memeriksa instans dalam rentang bulan yang ditentukan.

  3. Tetapkan hubungan logika (AND/OR):

    • Di sisi kiri antarmuka, Anda dapat menetapkan hubungan logika antara kelompok pemeriksaan dan antara item pemeriksaan dalam satu kelompok.

      • AND: Semua item pemeriksaan atau kelompok pemeriksaan terkait harus berhasil.

      • OR: Hanya satu dari item pemeriksaan atau kelompok pemeriksaan terkait yang perlu berhasil.

Konfigurasikan pengaturan pemeriksaan

Di bagian bawah halaman, definisikan perilaku pemeriksaan node:

  • Check interval: Menentukan frekuensi pemeriksaan status semua dependensi. Nilai minimum adalah 1 minute/check.

  • Max duration: Menentukan waktu tunggu maksimum untuk node. Jika durasi ini terlampaui dan dependensi masih belum terpenuhi, node pemeriksaan dependensi akan gagal. Nilai maksimum adalah 1440 minutes (24 jam).

Logika dan status saat waktu proses

  • Checking: Dalam Max duration, jika ada kondisi dependensi yang belum terpenuhi, node tetap berada dalam status Running. Node akan mencoba memeriksa kembali secara berkala berdasarkan pengaturan Check interval.

  • Succeeded: Dalam Max duration, jika semua kondisi dependensi terpenuhi sesuai logika AND/OR yang ditentukan, status node berubah menjadi Running Succeeded.

  • Failed:

    1. Kondisi dependensi masih belum terpenuhi setelah Max duration terlampaui.

    2. Saat pemeriksaan berlangsung, jika suatu item dependensi yang diperlukan (misalnya, dalam hubungan AND) mengarah ke node yang tidak ada, pemeriksaan dihentikan lebih awal dan status node diatur menjadi Failed.

Kasus penggunaan: Membuat node harian menunggu semua node per jam dari hari sebelumnya

Pertimbangkan skenario klasik dari pengantar. Anda memiliki node laporan ringkasan harian (rpt_daily_summary). Node ini harus menunggu keberhasilan semua 24 instans dari node per jam bernama ods_hourly_log dari hari sebelumnya (00:00 hingga 23:59) sebelum dapat dijalankan.

  1. Seret node pemeriksaan dependensi
    Dalam alur kerja Anda, seret node pemeriksaan dependensi ke hulu node harian Anda, rpt_daily_summary, lalu hubungkan keduanya.

    image
  2. Konfigurasikan item pemeriksaan dependensi
    Klik ganda node pemeriksaan dependensi untuk mengonfigurasi item pemeriksaan dependensinya.

    • Tambahkan node dependensi: Klik + Add Item. Di kotak input Task, cari dan pilih node per jam, ods_hourly_log.

    • Tentukan rentang waktu: Anda perlu memeriksa semua instans per jam dari "hari sebelumnya". Atur Period ke Day, lalu pilih Previous 1 day.

      Sistem akan memeriksa apakah semua instans (24) dari node per jam ini pada hari kalender sebelumnya telah berhasil.
    • Tetapkan hubungan logika: Karena hanya ada satu item pemeriksaan, Anda dapat menggunakan hubungan logika AND default untuk kelompok pemeriksaan dan item-itemnya.

  3. Konfigurasikan kebijakan pemeriksaan

    • Check interval: Misalnya, atur menjadi 5 minutes/check. Artinya, jika dependensi belum terpenuhi, sistem akan menunggu 5 menit sebelum memeriksa kembali.

    • Max duration: Misalnya, atur menjadi 180 minutes. Artinya, node akan menunggu maksimal 3 jam sejak waktu terjadwal node harian. Jika node per jam dari hari sebelumnya belum semuanya selesai setelah 3 jam, node pemeriksaan dependensi akan gagal. Hal ini mencegah node harian hilir dijalankan, sekaligus mencegah penantian tanpa batas dan memperlihatkan masalah secara cepat.

Setelah konfigurasi selesai, simpan dan publikasikan. Sekarang, node laporan harian Anda akan menunggu semua data per jam siap sebelum dijalankan.

Lampiran: Perbedaan dari dependensi penjadwalan

Node yang diperiksa dalam konfigurasi node pemeriksaan dependensi berbeda dari dependensi penjadwalan dalam konfigurasi penjadwalan. Perbedaannya sebagai berikut:

image

Atribut

Node yang diperiksa dalam node pemeriksaan dependensi

Node dependensi penjadwalan

Metode pemicu

Node pemeriksaan dependensi secara aktif melakukan polling status item pemeriksaan. Node item pemeriksaan tidak memicu atau mengubah status node pemeriksaan dependensi.

Saat node target mencapai waktu proses terjadwalnya, ia memeriksa apakah status node dependensi penjadwalan memenuhi persyaratan.

Visualisasi DAG

Dependensi terdapat dalam konfigurasi node dan tidak ditampilkan pada DAG.

Ditampilkan sebagai garis dependensi hulu dan hilir pada DAG.

Interaksi backfill/rerun data

Menjalankan ulang atau melakukan backfill data untuk node item pemeriksaan tidak secara otomatis memicu node turunan.

Backfill data untuk node dependensi penjadwalan dapat secara opsional memicu node target.