All Products
Search
Document Center

DataWorks:Error commit node: Ketidaksesuaian antara input/output dan alur data

Last Updated:Jun 21, 2026

Gejala

Saat Anda melakukan commit node, sistem menampilkan peringatan bahwa input dan output yang dikonfigurasi tidak sesuai dengan alur data. Di kotak dialog Commit New Version yang muncul, area peringatan berwarna merah muda menampilkan pesan spesifik seperti "Input dan alur data tidak sesuai." Hal ini menunjukkan bahwa input yang Anda kirimkan adalah workshop0423.ods_log_info_d, sedangkan input yang diperoleh dari alur data adalah workshop0423.ods_log_info_d;workshop0423.ods_user_info_d_1. Untuk melanjutkan, Anda harus mencentang kotak I confirm that I want to continue with the commit agar tombol Confirm menjadi aktif. Dalam skenario ini, pada halaman pengembangan DataWorks, kode ODPS SQL di panel kiri menggunakan INSERT OVERWRITE TABLE dw_user_info_all_d untuk menggabungkan tabel ods_log_info_d dan ods_user_info_d_1, lalu menulis hasilnya ke tabel tujuan. Di panel kanan, konfigurasi scheduling configuration terdiri dari dua bagian: Parent Nodes dan Outputs. Di bawah Parent Nodes, sistem secara otomatis mengurai tabel input workshop0423.ods_log_info_d. Bagian Outputs mencakup output default sistem workshop0423.500889455_out dan tabel output yang ditambahkan secara manual workshop0423.dw_user_info_all_d. Ketidaksesuaian ini terjadi karena tabel yang diurai dari alur data bertentangan dengan dependensi yang Anda deklarasikan di panel konfigurasi penjadwalan.

Kemungkinan penyebab

Peringatan ini muncul ketika tabel yang dirujuk dalam pernyataan SELECT pada kode Anda tidak sesuai dengan konfigurasi Parent Nodes, atau ketika tabel dalam pernyataan INSERT atau CREATE tidak sesuai dengan konfigurasi Outputs.

Contohnya:

  • Kode node yang Anda kirimkan mengambil data dari table2, tetapi table2 tidak dikonfigurasi sebagai node leluhur untuk node tersebut.

  • Anda telah mengonfigurasi doc_test di Outputs node, tetapi kode tidak menulis ke tabel tersebut.

Solusi

  • Untuk tabel yang tidak dihasilkan secara berkala, Anda dapat mengabaikan peringatan tersebut dan tetap melakukan commit node.

    Dependensi penjadwalan DataWorks dirancang terutama untuk memastikan bahwa data dalam tabel yang diperbarui secara berkala tersedia bagi node yang dijadwalkan. Platform tidak dapat memantau tabel yang tidak diperbarui oleh layanan penjadwalannya sendiri. Jika kode node Anda mengambil data dari tabel yang tidak dihasilkan secara berkala, Anda harus menghapus dependensi hulu yang diurai secara otomatis dari konfigurasi Parent Nodes. Tabel yang tidak dihasilkan secara berkala meliputi:

    • Tabel yang diunggah ke DataWorks dari mesin lokal

    • Tabel dimensi

    • Tabel yang tidak dihasilkan oleh node auto triggered DataWorks

    • Tabel yang dihasilkan oleh node yang dipicu secara manual

  • Untuk tabel yang dihasilkan secara berkala, pastikan alur data dan dependensi penjadwalan konsisten.

    Jika Anda memaksa commit tanpa pemeriksaan ini, Anda mungkin mengalami masalah berikut:

    • Node turunan mungkin gagal mendapatkan data terbaru. Misalnya, kode Anda mengambil data dari Tabel A, yang dihasilkan setiap hari oleh auto triggered node yang dijadwalkan. Jika Anda tidak menambahkan node yang menghasilkan Tabel A ke Parent Nodes node saat ini untuk membuat dependensi penjadwalan, dan node yang menghasilkan Tabel A gagal, node turunan Anda akan menggunakan data lama dari eksekusi sukses sebelumnya, yang dapat menyebabkan ketidakkonsistenan.

    • Anda mungkin mengalami error "Dependent ancestor output name not found". Misalnya, kode Anda membuat atau memasukkan data ke Tabel B, tetapi Anda tidak mengonfigurasi Tabel B sebagai output di bagian Outputs. Jika node lain mengambil data dari Tabel B, sistem secara otomatis mengurai hubungan ini dan menambahkan Tabel B sebagai input untuk node tersebut, sehingga menciptakan dependensi. Namun, sistem tidak dapat melacak dependensi ini kembali ke node yang menghasilkan Tabel B. Saat Anda mencoba melakukan commit node, proses tersebut gagal dengan error "Node commit error: Dependent ancestor output name not found". Untuk informasi lebih lanjut, lihat Node commit error: Dependent ancestor output name not found.