Gejala
Saat Anda mengirimkan (submit) sebuah node, sistem melaporkan error bahwa nama output dari node leluhur dependen tidak ada. Di DataWorks, halaman menampilkan pesan error berikut saat Anda mengirimkan node: Nama output test.table_1 dari node leluhur dependen untuk node saat ini tidak ada. Anda tidak dapat mengirimkan node ini. Pastikan node leluhur yang memiliki nama output ini telah dikirimkan. Kode kesalahan adalah 1201111368. Error ini menunjukkan bahwa sistem tidak dapat menemukan node hulu yang menghasilkan tabel output xc_ods_user_info_d_133 berdasarkan dependensi yang ditentukan oleh Parent Node Output Name untuk node tersebut.
Error ini menunjukkan bahwa nama output yang ditentukan tidak ditemukan dalam konfigurasi output node mana pun. Ini bukan berarti tabel tersebut tidak ada. Error juga dapat terjadi jika tabel tersebut memang ada dan dihasilkan oleh suatu node, tetapi belum ditambahkan sebagai output dari node tersebut.
Penyebab 1: Tidak ada node yang menghasilkan tabel
Penyebab
Dalam kebanyakan kasus, DataWorks menggunakan penguraian otomatis untuk menambahkan tabel yang dihasilkan ke output node. Namun, penguraian otomatis tidak didukung untuk tabel yang tidak dihasilkan secara periodik, seperti:
Tabel yang diunggah ke DataWorks dari mesin lokal Anda
tabel dimensi
Tabel yang tidak dihasilkan oleh penjadwalan DataWorks
Tabel yang dihasilkan oleh node yang dipicu secara manual
Error terjadi ketika sebuah node mencoba melakukan
SELECTdari salah satu jenis tabel tersebut.Solusi
Anda harus menghapus secara manual dependensi penjadwalan pada tabel yang tidak dihasilkan secara periodik. Dalam contoh ini, hapus dependensi penjadwalan di mana Parent Node Output Name adalah
xc_ods_user_info_d_133.Untuk langkah-langkah detail cara menghapus dependensi penjadwalan, lihat Konfigurasikan dependensi penjadwalan siklus yang sama.
Penyebab 2: Tabel tidak terdaftar sebagai output node
Penyebab
Meskipun DataWorks menggunakan penguraian otomatis untuk menambahkan output pada sebagian besar node, fitur ini tidak didukung untuk jenis node tertentu. Untuk jenis node seperti batch synchronization, AnalyticDB for PostgreSQL, AnalyticDB for MySQL, dan EMR, Anda harus menambahkan secara manual tabel yang dihasilkannya sebagai output.
Jika node hilir mencoba menjalankan
SELECTpada tabel yang dihasilkan oleh salah satu node ini, tetapi tabel tersebut belum ditambahkan secara manual ke keluaran node produsen, kesalahan ini akan terjadi.Solusi
Anda harus menambahkan secara manual tabel tersebut sebagai output dari node yang menghasilkannya. Dalam contoh ini, tambahkan
xc_ods_user_info_d_133sebagai output dari node yang menghasilkannya.Setelah menambahkan output tersebut, Anda dapat mengonfigurasi dependensi penjadwalan dengan benar. Untuk instruksi detail, lihat Konfigurasikan dependensi penjadwalan siklus yang sama.
Untuk mencegah masalah data akibat konfigurasi dependensi yang salah, DataWorks membandingkan input dan output alur data dengan konfigurasi penjadwalan saat Anda melakukan commit node. Jika keduanya tidak sesuai, sistem akan memberikan peringatan. Untuk informasi lebih lanjut, lihat Error commit node: Ketidaksesuaian antara input/output dan alur data.
Anda tidak perlu mengonfigurasi dependensi penjadwalan untuk tabel yang tidak dihasilkan oleh penjadwalan harian DataWorks. Anda dapat menghapus dependensi tersebut. Saat Anda melakukan commit node setelah menghapus dependensi semacam itu, sistem mungkin memberi peringatan tentang ketidaksesuaian antara alur data dan konfigurasi penjadwalan. Jika satu-satunya perbedaan adalah dependensi yang baru saja Anda hapus, Anda dapat melakukan force commit node tersebut dengan aman.
Penyebab 3: Terdapat nama output node duplikat
Penyebab
Masalah ini terjadi ketika beberapa node memiliki nama output yang sama, yang dapat terjadi dalam dua skenario:
Beberapa node menghasilkan tabel yang sama.
Jika beberapa node menghasilkan tabel yang sama, sistem tidak dapat mengidentifikasi node sumber yang unik saat node lain mencoba melakukan
SELECTdari tabel tersebut. Ambiguitas ini menyebabkan proses commit gagal.Ruang kerja berisi node dengan nama yang sama.
Saat Anda membuat node, sistem secara otomatis menambahkan dua outputs. Salah satunya mengikuti konvensi penamaan
workspacename.nodename. Jika dua node dalam ruang kerja yang sama memiliki nama yang sama, nama output yang dihasilkan secara otomatis akan identik, sehingga menyebabkan error ini saat commit.
Solusi
Untuk mengatasi hal ini, ikuti konvensi pengembangan dan penamaan standar:
Satu tabel hanya boleh dihasilkan oleh satu node, dan tabel tersebut harus terdaftar sebagai output node tersebut.
Nama node harus unik dalam satu ruang kerja.
Setelah melakukan perubahan ini, pastikan tidak ada dua node yang memiliki nama output yang sama.