All Products
Search
Document Center

DataWorks:Konfigurasikan dependensi penjadwalan siklus yang sama

Last Updated:Sep 10, 2026

Dependensi siklus yang sama mengharuskan suatu node menunggu instans node hulu-nya pada siklus saat ini selesai sebelum menjalankan tugasnya. Ini cocok ketika suatu node mengonsumsi data yang dihasilkan oleh node hulu pada hari yang sama. DataWorks menyediakan beberapa cara untuk mengonfigurasi dan melihat pratinjau dependensi ini sehingga Anda dapat memverifikasi bahwa task dijadwalkan sesuai harapan.

Cara kerja

Dependensi penjadwalan dibentuk dengan mencocokkan output node dengan input node: nama output dari node hulu ditambahkan sebagai input node hilir, sehingga node hilir hanya berjalan setelah node hulu berhasil. Sebelum memulai, identifikasi target dan jenis dependensi berdasarkan lineage tabel Anda. Untuk informasi lebih lanjut, lihat Panduan konfigurasi dependensi penjadwalan.

Node output

Node output, juga dikenal sebagai nama output node saat ini, adalah pengenal logis yang dirujuk oleh node lain untuk membentuk dependensi. Ini tidak merepresentasikan data aktual yang dihasilkan oleh node tersebut.

DataWorks secara otomatis menghasilkan dua nama output untuk setiap node:

  • projectName.randomNumber_out: Output ini bersifat unik secara global dan tidak dapat dimodifikasi atau dihapus.

  • projectName.nodeName: Output ini mencakup nama node dan dapat dimodifikasi. Nama output ini tetap tidak berubah meskipun node tersebut diganti namanya.

Anda juga dapat menambahkan output secara manual atau membiarkan DataWorks mengurai input dan output secara otomatis dari kode Anda. Dukungan terhadap penguraian otomatis bervariasi tergantung jenis node. Untuk detailnya, lihat Perbandingan hasil penguraian otomatis.

Node input

Node input menentukan node leluhur yang menjadi dependensi node saat ini. Anda dapat menentukan dependensi dengan menggunakan nama output (disarankan), nama node, atau ID node dari node leluhur tersebut.

ID node hanya dihasilkan setelah node leluhur dikirim ke lingkungan produksi.

Pedoman konfigurasi

Kami menyarankan menggunakan penguraian otomatis untuk mengonfigurasi dependensi secara efisien. Saat menggunakan penguraian otomatis, ikuti pedoman berikut:

  • Pembuatan node: Beri nama setiap node sesuai dengan tabel output-nya.

  • Pengembangan kode: Hindari memiliki beberapa node yang menulis data ke tabel yang sama.

  • Konfigurasi dependensi: Tetapkan tabel yang dihasilkan oleh suatu node sebagai output node tersebut.

Titik masuk dan metode

Buka halaman edit node Data Studio, klik Schedule Settings di panel navigasi kanan, lalu konfigurasikan dependensi penjadwalan untuk node tersebut di bagian Scheduling Dependency.

  • Parent Nodes: Menentukan node leluhur yang menjadi dependensi task saat ini.

  • Output Name of Current Node: Menentukan nama output yang memungkinkan task lain membentuk dependensi terhadap node ini.

Catatan

  • Saat mengedit kode, dependensi dikonfigurasi berdasarkan lineage tabel secara default. DataWorks secara otomatis memeriksa apakah dependensi sesuai dengan alur data saat dikirim. Anda dapat memilih apakah akan mengaktifkan fitur penguraian otomatis sebelum pengiriman. Untuk informasi lebih lanjut, lihat Konfigurasikan penguraian otomatis sebelum pengiriman.

  • Jika node saat ini perlu bergantung pada data yang dihasilkan oleh node hulu kemarin, atau jika task per jam/per menit perlu bergantung pada instansnya sendiri dari siklus sebelumnya, konfigurasikan dependensi lintas siklus.

  • Jika node saat ini dan node hulunya memiliki frekuensi penjadwalan berbeda, seperti task harian yang bergantung pada task per jam atau task per jam dengan frekuensi berbeda, lihat Konfigurasikan dependensi antar task dengan frekuensi penjadwalan berbeda.

Anda dapat mengonfigurasi dependensi dengan tiga cara. Ketiga metode ini menggunakan mekanisme dasar yang sama.

Konfigurasikan dependensi node dengan mengurai lineage tabel dari kode

Penguraian otomatis menganalisis lineage tabel dalam kode suatu node dan mengonfigurasi nama output serta dependensi hulu node tersebut sesuai hasil analisis. Tabel yang ditulis oleh node ditambahkan sebagai output node dalam format projectname.tablename, sedangkan tabel yang dibaca oleh node ditambahkan sebagai input node.

Sebagai contoh, ketika suatu node menggunakan SELECT pada suatu tabel, tabel tersebut secara otomatis diurai sebagai dependensi hulu node tersebut. Ketika suatu node menggunakan INSERT pada suatu tabel, tabel tersebut secara otomatis diurai sebagai output node tersebut. Untuk kata kunci yang didukung oleh penguraian otomatis untuk setiap jenis node, lihat Kata kunci yang didukung oleh penguraian otomatis untuk setiap jenis node.
  • Konfigurasikan dependensi

    Penguraian otomatis mendukung dua metode: Parse Inputs and Outputs from Code dan Automatic Parsing Before Committing. Kedua metode bekerja dengan prinsip yang sama. Automatic Parsing Before Committing secara otomatis mengurai input dan output saat Anda mengirim kode dan meminta Anda mengonfigurasi dependensi.

    Sebagai contoh, node ODPS mc2 bergantung pada tabel output dws_user_info_all_di dari node mc1. Kode node mc2 adalah sebagai berikut:

    INSERT OVERWRITE TABLE ads_user_info_1d PARTITION (dt='${workflow.var}')
    SELECT uid
      , MAX(region)
      , MAX(device)
      , COUNT(0) AS pv
      , MAX(gender)
      , MAX(age_range)
      , MAX(zodiac)
    FROM dws_user_info_all_di
    WHERE dt = '${workflow.var}'
    GROUP BY uid;

    Setelah Anda mengklik Parse Inputs and Outputs from Code, input node ini diurai sebagai tabel dws_user_info_all_di, dan nama tabel output serta nama node hulu secara otomatis dicocokkan:

    Upstream node output name

    Upstream node output table name

    Upstream node name

    Node ID

    Workspace

    Owner

    Schedule

    Method

    Recent run status

    Action

    yunwan_lingyi.dws_user_info_all_di

    yunwan_lingyi.dws_user_info_all_di

    mc1

    -

    Test workspace

    lingyi01_testcloud_com

    Day

    Code parsing

    No data

    Delete

    Pada saat yang sama, output node ini diurai sebagai tabel ads_user_info_1d. Hasil penguraiannya adalah sebagai berikut:

    Output name

    Output table name

    Downstream node name

    Owner

    Method

    Downstream node affected baselines

    Action

    old_ide.505487297_out

    -

    -

    -

    Added by system

    -

    Delete

    old_ide.mc2

    -

    -

    -

    Manually added

    -

    Delete

    yunwan_lingyi.ads_user_info_1d

    yunwan_lingyi.ads_user_info_1d

    -

    -

    Code parsing

    -

    Delete

    Node mc2 kini telah dikonfigurasi dengan dependensi terhadap node mc1.

  • Modifikasi dependensi dari hasil penguraian kode

    Jika dependensi yang diurai tidak sesuai ekspektasi Anda, atau jika skenario yang tidak didukung (tabel yang datanya tidak dihasilkan oleh penjadwalan periodik) memerlukan penyesuaian manual, modifikasi dependensi yang diurai sebagai berikut.

    Action

    Description

    Manually delete parsing results

    Hapus input yang tidak diharapkan dari daftar dependensi node hulu, lakukan operasi hapus, lalu uraikan ulang. Setelah dihapus, komentar yang sesuai akan secara otomatis ditambahkan ke kode untuk mencegah dependensi ditambahkan kembali saat penguraian berikutnya:

    --@exclude_input=Remove input
    --@exclude_output=Remove output

    Manually add inputs and outputs

    Klik kanan nama tabel di editor kode dan pilih Add Input atau Add Output. Setelah input atau output ditambahkan, komentar yang sesuai akan secara otomatis ditambahkan ke kode.

    --@extra_output=Add output
    --@extra_input=Add input

    Alternatifnya, Anda dapat menambahkan dependensi dengan menggunakan metode yang dijelaskan di Menambahkan dependensi node hulu secara manual dari panel pengaturan jadwal atau Menetapkan dependensi node dengan menyeret koneksi di panel alur kerja.

    Penting

    DataWorks tidak mengizinkan Anda menghapus langsung output node yang memiliki dependensi hilir yang ada. Melakukannya dapat menyebabkan error eksekusi task hilir atau pengambilan data. Pertama-tama sesuaikan logika bisnis hilir dan hapus dependensi hulu dari node hilir tersebut, lalu hapus output node dari node hulu.

  • Skema yang dikecualikan dari penguraian otomatis

    Tabel sementara yang didefinisikan di manajemen tabel ruang kerja dengan format penamaan tetap (misalnya, tabel dengan awalan t_) di DataWorks tidak diurai secara otomatis sebagai output node atau dependensi hulu.

  • Pertimbangan untuk penguraian otomatis

    Saat menggunakan penguraian otomatis, pastikan output node bersifat unik dalam wilayah saat ini. Perhatikan hal-hal berikut:

    • Pembuatan node: Setiap node memiliki output default dengan nama yang sama dengan node tersebut. Jika terdapat node dengan nama yang sama dalam ruang kerja yang sama, Anda harus memodifikasi secara manual output node salah satunya.

    • Pengembangan kode: Penguraian otomatis menggunakan tabel output suatu node sebagai output node tersebut. Jika dua node terjadwal dalam ruang kerja yang sama memasukkan data ke tabel yang sama, penguraian otomatis akan menyebabkan error pada salah satu node tersebut. Untuk informasi lebih lanjut, lihat Beberapa node menulis data ke tabel yang sama, dan penguraian otomatis melaporkan nama output node duplikat.

    • Konfigurasi dependensi: Saat Anda menggunakan task SQL untuk memproses tabel output dari task sinkronisasi batch, agar task SQL dapat dengan cepat bergantung pada task sinkronisasi batch melalui penguraian otomatis berbasis lineage, Anda harus mengonfigurasi secara manual tabel output dari node sinkronisasi batch sebagai output node, atau beri nama node task sinkronisasi batch sesuai dengan tabel output-nya (platform secara otomatis membuat output node dengan nama yang sama dengan node tersebut). Jika tidak, saat mengirim node SQL hilir, Anda mungkin mengalami error The parent node output name ${projectname.tablename} that the current node depends on does not exist. The current node cannot be submitted. Make sure that the parent node with this output name has been submitted.

Menambahkan dependensi node hulu secara manual dari panel pengaturan jadwal

Di bagian Schedule Settings > Scheduling Dependency > Parent Nodes, tambahkan dependensi node hulu dengan memasukkan output node, nama node, atau ID node dari node target. Karena nama node dapat diduplikasi, disarankan menggunakan output node.

Menetapkan dependensi node dengan menyeret koneksi di panel alur kerja

Saat Anda menetapkan dependensi dengan menyeret koneksi di panel DAG suatu alur kerja, DataWorks secara otomatis menambahkan output _out dari node hulu ke node hilir, sehingga membentuk dependensi node.

Catatan

Saat koneksi dependensi dihapus dari panel alur kerja, dependensi yang sesuai juga akan dihapus dari pengaturan jadwal node tersebut.

Dampak menghapus atau mengubah output node

Jika Anda mengubah data yang dihasilkan oleh suatu node atau memodifikasi output node secara manual, perhatikan dampak berikut:

  • Menghapus output node tidak secara langsung memengaruhi data yang dihasilkan oleh node tersebut.

  • Jika output node sudah memiliki dependensi hilir, mengubah atau menghapusnya dapat berdampak serius terhadap task hilir.

    • Penghapusan tabel output: Saat output node yang dikonfigurasi melalui penguraian otomatis berubah karena tabel output berubah, node hilir dapat menjadi node yatim yang tidak dijadwalkan, atau data hilir dapat rusak karena dependensi data yang hilang.

    • Perubahan tabel output: Jika tabel yang dihasilkan oleh node saat ini perlu dialihkan ke node lain, lihat Alihkan tabel output node ke node lain.

    Sebelum menghapus output node yang memiliki dependensi hilir, beri tahu pemilik task hilir agar mereka dapat menyesuaikan dependensinya dan mencegah task mereka menjadi task yatim.

Langkah selanjutnya: Verifikasi bahwa dependensi sesuai harapan

Setelah mengonfigurasi dependensi, verifikasi kebenarannya untuk memastikan task berjalan sesuai harapan:

  • Pratinjau dependensi: Verifikasi bahwa dependensi benar untuk mencegah keterlambatan penjadwalan task akibat dependensi yang tidak diharapkan.

  • Pemeriksaan pengiriman: Konfirmasi bahwa perubahan dependensi sesuai harapan saat Anda mengirim node.

  • Verifikasi dependensi task terjadwal: Setelah Anda men-deploy node, verifikasi bahwa dependensi task terjadwal di lingkungan produksi di Pusat Operasi sesuai harapan. Task terjadwal merepresentasikan status terbaru task di lingkungan produksi. Dependensi instans dari instans terjadwal berkaitan dengan metode pembuatan instans.

Untuk informasi lebih lanjut, lihat Verifikasi dependensi penjadwalan.

FAQ

Untuk FAQ lainnya, lihat Dependensi penjadwalan.

Praktik terbaik

Untuk mengonfigurasi dependensi node lintas ruang kerja atau lintas alur kerja dalam ruang kerja yang sama, lihat Konfigurasikan dependensi node lintas ruang kerja atau alur kerja.