All Products
Search
Document Center

DataWorks:Konfirmasi lineage tabel

Last Updated:Mar 26, 2026

Sebelum mengonfigurasi scheduling dependencies untuk suatu node, pastikan lineage tabel yang dihasilkan oleh node tersebut. Lineage tabel menunjukkan partisi mana yang ditulis oleh node leluhur pada hari tertentu, sehingga Anda dapat memverifikasi bahwa partisi yang diharapkan oleh node turunan tersedia pada waktu proses.

Topik ini mencakup:

  • Cara mengonfirmasi lineage tabel ketika kedua node berada dalam ruang kerja yang sama atau berbeda

  • Masalah yang muncul akibat konfigurasi scheduling dependencies yang tidak tepat

Cara kerja scheduling dependencies

Scheduling dependencies DataWorks beroperasi pada dua sumbu berbeda. Memisahkan keduanya membantu menghindari kebingungan umum:

SumbuHubunganContoh
Struktur DAGHulu vs. hilir dalam satu siklus penjadwalanNode A bergantung pada Node B
Siklus waktuSiklus saat ini vs. siklus sebelumnyaInstans hari ini bergantung pada output kemarin

Scheduling dependency mengkodekan hubungan struktur DAG. Cross-cycle scheduling dependency mengkodekan hubungan antar siklus waktu. Keduanya merupakan konfigurasi terpisah dan berdampak berbeda terhadap partisi data yang dibaca oleh suatu node.

Catatan penggunaan

Di DataWorks, partisi yang dibaca atau ditulis oleh suatu node ditentukan oleh parameter penjadwalan yang dikonfigurasi untuk node tersebut. Jika partisi yang ditulis oleh node leluhur tidak sesuai dengan partisi yang diharapkan oleh node turunan, Anda memiliki dua opsi berdasarkan kebutuhan bisnis:

  • Ubah konfigurasi parameter penjadwalan node turunan agar selaras dengan partisi output node leluhur.

  • Konfigurasikan cross-cycle scheduling dependencies untuk node turunan.

Cross-cycle scheduling dependencies: Jika instans Node A dalam siklus saat ini harus bergantung pada data partisi yang dihasilkan oleh Node B dalam siklus sebelumnya, konfigurasikan cross-cycle scheduling dependencies untuk Node A. Hal ini menyebabkan instans Node A dalam siklus saat ini bergantung pada instans Node B dalam siklus sebelumnya, bukan pada instans Node B dalam siklus yang sama.

Dalam skenario tabel partisi, pastikan partisi dalam tabel yang dihasilkan oleh suatu node sesuai dengan partisi yang diharapkan oleh node tersebut untuk dibaca.

Konfirmasi lineage tabel

Konfirmasi lineage ketika kedua node berada dalam ruang kerja yang sama

Node secara berkala menulis data ke partisi tertentu berdasarkan parameter penjadwalannya. Untuk detail tentang cara parameter penjadwalan diganti secara dinamis, lihat Parameter penjadwalan.

Jika Node A bergantung pada Node B dalam ruang kerja yang sama, periksa konfigurasi parameter penjadwalan Node B untuk menentukan partisi yang ditulisnya setiap hari:

  • Lingkungan pengembangan: Buka tab konfigurasi node leluhur (Node B). Tinjau konfigurasi parameter penjadwalan dan kode node untuk menentukan output partisi.

  • Lingkungan produksi: Konfirmasi output data tabel leluhur dan turunan di lingkungan produksi.

Bandingkan hasil substitusi parameter penjadwalan Node A dan B untuk memverifikasi bahwa partisi yang ditulis oleh Node B setiap hari sesuai dengan partisi yang diharapkan oleh Node A untuk dibaca.

Konfirmasi lineage ketika node berada dalam ruang kerja berbeda

Jika Node A bergantung pada Node B di ruang kerja berbeda, gunakan DataWorks Data Map (DataMap) untuk mengonfirmasi partisi data yang dihasilkan oleh Node B setiap hari.

Di DataMap, tinjau informasi output tabel Node B untuk mengonfirmasi Waktu data partisi harian—khususnya, apakah partisi yang ditulis setiap hari sesuai dengan tanggal hari sebelumnya atau tanggal hari ini.

Confirm the lineage of the table generated by a node on which the current node depends (the nodes are in different workspaces)

Skenario kegagalan

Konfigurasi scheduling dependencies yang salah menghasilkan dua pola kegagalan berbeda.

Skema 1: Lineage ada tetapi dependency tidak dikonfigurasi

Jika Job_B membaca dari Tabel A dalam pernyataan SELECT-nya, tetapi Job_A—yang menghasilkan Tabel A—tidak dikonfigurasi sebagai node leluhur dari Job_B, maka Job_B mungkin mulai sebelum Tabel A tersedia. Dalam kasus ini, Job_B gagal dijalankan atau menghasilkan output yang tidak valid.

Meskipun waktu mulai terjadwal Job_A lebih awal daripada Job_B, jika Job_A tidak berhasil menghasilkan data sebelum pukul 02.00, terjadi error saat Job_B mengambil data. Job_A mungkin gagal menghasilkan data pada pukul 01.00 seperti yang diharapkan karena salah satu alasan berikut:

  • Node leluhur Job_A gagal atau berjalan lambat.

  • Job_A atau salah satu node leluhurnya sedang menunggu sumber daya.

  • Node leluhur Job_A dibekukan pada hari tersebut.

Perbaikan: Konfigurasikan Job_A sebagai node leluhur dari Job_B sehingga Job_B hanya mulai setelah Job_A berhasil selesai.

Skema 2: Dependency dikonfigurasi tetapi partisi tidak sesuai

Jika scheduling dependencies dalam siklus yang sama telah dikonfigurasi tetapi partisi yang ditulis oleh node leluhur tidak sesuai dengan partisi yang diharapkan oleh node turunan, masalah kualitas data dapat terjadi atau node turunan mungkin mengembalikan error saat membaca dari tabel node leluhur.

Ketika node MaxCompute menggunakan fungsi max_pt, data partisi yang dihasilkan oleh node leluhur setiap hari harus valid.

Perbaikan: Verifikasi keselarasan partisi antara node leluhur dan turunan sebagaimana dijelaskan dalam Konfirmasi lineage tabel. Jika partisi tidak selaras, sesuaikan konfigurasi parameter penjadwalan node turunan atau konfigurasikan cross-cycle scheduling dependencies.