Deskripsi masalah
Saat melakukan commit pada sebuah node, sistem melaporkan kesalahan bahwa input dan output dari node tersebut tidak sesuai dengan data lineage dalam kode yang dikembangkan untuk node tersebut. 

Penyebab yang mungkin
Tabel yang ditentukan dalam pernyataan SELECT tidak sesuai dengan tabel yang ditambahkan ke Parent Nodes untuk node tersebut, atau tabel yang ditentukan dalam pernyataan INSERT atau CREATE tidak sesuai dengan tabel yang ditambahkan ke Outputs untuk node tersebut.
Sebagai contoh, dalam gambar di atas:
- Pernyataan SELECT dalam kode dari node yang Anda commit menentukan table2, tetapi table2 tidak ditambahkan ke Parent Nodes untuk node yang dicommit.
- doc_test ditambahkan ke Outputs untuk node yang dicommit, tetapi pernyataan INSERT atau CREATE dalam kode dari node tersebut tidak menentukan tabel bernama doc_test.
Solusi
- Jika tabel yang dihasilkan bukan oleh node yang dipicu otomatis dikonfigurasi sebagai input atau output dari sebuah node, Anda dapat mengabaikan kesalahan dan melakukan commit pada node tersebut.Dependensi node memastikan bahwa sebuah node dapat berhasil mendapatkan data tabel yang dihasilkan oleh node leluhurnya yang dijadwalkan untuk dijalankan. Namun, jika node leluhur tidak dijadwalkan untuk dijalankan, sistem tidak dapat mendeteksi apakah node leluhur telah menghasilkan data tabel terbaru. Jika pernyataan SELECT dalam kode sebuah node menentukan tabel yang dihasilkan bukan oleh node yang dipicu otomatis, Anda dapat menghapus tabel yang ditentukan oleh pernyataan SELECT dari Parent Nodes untuk node yang dicommit. Tabel-tabel yang dihasilkan bukan oleh node yang dipicu otomatis mencakup jenis-jenis berikut:
- Tabel yang diunggah dari mesin lokal ke DataWorks
- Tabel dimensi
- Tabel yang dihasilkan bukan oleh node yang dijadwalkan oleh DataWorks
- Tabel yang dihasilkan oleh node yang dipicu secara manual
- Jika sebuah tabel dihasilkan oleh node yang dipicu otomatis, Anda harus memeriksa apakah data lineage dan dependensi penjadwalan dikonfigurasi dengan benar.Jika Anda secara paksa melakukan commit pada sebuah node tanpa memeriksa item sebelumnya, kesalahan berikut mungkin terjadi:
- Node turunan tidak dapat memperoleh data dari node leluhur tempat mereka bergantung. Sebagai contoh, pernyataan SELECT dalam kode sebuah node menentukan Tabel A, dan Tabel A dihasilkan oleh node yang dijadwalkan untuk dijalankan setiap hari. Jika Tabel A tidak ditambahkan ke Parent Nodes untuk node tersebut, dan eksekusi node terjadwal yang menghasilkan Tabel A gagal suatu hari, node mungkin gagal memperoleh data yang dihasilkan oleh eksekusi terakhir dari node terjadwal.
- Nama output dari node leluhur tidak ada. Sebagai contoh, pernyataan CREATE atau INSERT dalam kode Node A menentukan Tabel B, tetapi Tabel B tidak dikonfigurasikan sebagai output dari Node A. Dalam hal ini, jika pernyataan SELECT dalam kode Node B menentukan Tabel B, sistem secara otomatis mengonfigurasikan Tabel B sebagai input dari Node B untuk menetapkan hubungan dependensi antara Node A dan Node B. Namun, sistem tidak dapat menemukan Node A berdasarkan hubungan dependensi tersebut. Oleh karena itu, ketika Anda melakukan commit pada Node B, sistem melaporkan kesalahan bahwa nama output dari node leluhur dari Node B tidak ada. Untuk informasi lebih lanjut, lihat Ketika saya melakukan commit pada Node A, sistem melaporkan kesalahan bahwa nama output dari node leluhur yang bergantung pada Node A tidak ada. Apa yang harus saya lakukan?.