Deskripsi masalah
Gambar di atas menjelaskan kesalahan tersebut. Kesalahan ini terjadi karena sistem tidak dapat menemukan node leluhur yang menghasilkan tabel xc_ods_user_info_d_133 berdasarkan output name of the dependent ancestor node yang dikonfigurasikan untuk Node A.Penyebab mungkin 1: Tidak ada node yang menghasilkan tabel
- Penyebab Mungkin:
Tidak ada node yang menghasilkan tabel.
Dalam banyak kasus, sistem dapat secara otomatis menambahkan tabel yang dihasilkan oleh sebuah node ke dalam output dari node tersebut dengan menggunakan fitur penguraian otomatis. Namun, tabel yang dihasilkan oleh node selain node yang dipicu otomatis tidak mendukung fitur ini. Node selain node yang dipicu otomatis menghasilkan tabel-tabel berikut:- Tabel yang diunggah dari mesin lokal ke DataWorks
- Tabel dimensi
- Tabel yang tidak dihasilkan oleh node yang dijadwalkan oleh DataWorks
- Tabel yang dihasilkan oleh node yang dipicu secara manual
Jika kode yang dikembangkan untuk sebuah node berisi pernyataan SELECT yang menentukan salah satu tabel di atas, kesalahan di atas akan dilaporkan.
- Solusi:
Anda harus menghapus dependensi yang berisi tabel yang dihasilkan oleh node selain node yang dipicu otomatis. Dalam contoh ini, Anda harus menghapus output name of the dependent ancestor node yang berisi tabel
xc_ods_user_info_d_133.Untuk informasi lebih lanjut tentang cara menghapus dependensi penjadwalan, lihat Konfigurasikan dependensi penjadwalan siklus yang sama.
Penyebab mungkin 2: Tabel yang dihasilkan oleh sebuah node tidak ditambahkan ke dalam output dari node
- Penyebab Mungkin:
Tabel dihasilkan oleh sebuah node. Namun, tabel tersebut tidak ditambahkan ke dalam output dari node.
Dalam banyak kasus, sistem dapat secara otomatis menambahkan tabel yang dihasilkan oleh sebuah node ke dalam output dari node tersebut berdasarkan fitur penguraian otomatis. Namun, beberapa node tidak mendukung fitur ini. Node sinkronisasi batch, node AnalyticDB for PostgreSQL, node AnalyticDB for MySQL, dan node EMR tidak mendukung konfigurasi dependensi penjadwalan berdasarkan fitur penguraian otomatis. Tabel yang dihasilkan oleh node-node ini harus ditambahkan secara manual ke dalam output dari node-node tersebut.
Jika pernyataan SELECT dalam kode dari sebuah node menentukan salah satu tabel di atas, dan tabel tersebut tidak ditambahkan ke dalam output dari node yang menghasilkan tabel, kesalahan di atas akan dilaporkan.
- Solusi:
Anda harus menambahkan tabel tersebut secara manual ke dalam output dari node yang menghasilkan tabel. Dalam contoh ini, Anda harus menambahkan tabel
xc_ods_user_info_d_133secara manual ke dalam output dari node yang menghasilkan tabel.Untuk informasi lebih lanjut tentang cara menambahkan dependensi penjadwalan, lihat Konfigurasikan dependensi penjadwalan siklus yang sama.
Untuk mencegah kesalahan data yang disebabkan oleh konfigurasi dependensi yang salah, sistem membandingkan input dan output dari garis keturunan data tabel dengan input dan output dari konfigurasi penjadwalan ketika Anda melakukan commit sebuah node. Jika mereka tidak konsisten, sistem menampilkan pesan kesalahan. Untuk informasi lebih lanjut, lihat Ketika saya melakukan commit sebuah node, sistem melaporkan kesalahan bahwa input dan output dari node tidak konsisten dengan garis keturunan data dalam kode yang dikembangkan untuk node tersebut. Apa yang harus saya lakukan?.
Anda tidak perlu mengonfigurasi dependensi node untuk data tabel yang dihasilkan oleh node yang tidak dijadwalkan untuk berjalan harian. Jika Anda telah mengonfigurasi dependensi seperti itu, dependensi tersebut dapat dihapus. Dalam hal ini, sistem menampilkan pesan kesalahan bahwa garis keturunan data tabel tidak konsisten dengan konfigurasi penjadwalan ketika Anda melakukan commit node. Jika ketidaksesuaian hanya disebabkan oleh penghapusan, Anda dapat melakukan commit paksa pada node.
Penyebab mungkin 3: Beberapa node memiliki nama output yang duplikat
- Penyebab Mungkin:Nama output dari beberapa node adalah sama. Hal ini mungkin disebabkan oleh alasan berikut:
- Beberapa node menghasilkan tabel yang sama.
Jika beberapa node menghasilkan tabel yang sama, dan kode yang dikembangkan untuk sebuah node berisi pernyataan SELECT yang menentukan tabel tersebut, sistem tidak dapat menemukan node unik yang menghasilkan tabel, dan kesalahan dilaporkan ketika Anda melakukan commit node Anda.
- Sebuah ruang kerja berisi node yang memiliki nama yang sama.
Ketika Anda membuat sebuah node, sistem secara otomatis menambahkan dua outputs untuk node tersebut. Salah satunya diberi nama dalam format
projectname.nodename. Jika sebuah ruang kerja berisi dua node yang memiliki nama yang sama, nama output dari kedua node tersebut adalah sama. Dalam hal ini, ketika Anda melakukan commit node yang dibuat, sistem melaporkan kesalahan tersebut.
- Beberapa node menghasilkan tabel yang sama.
- Solusi:Anda harus mengubah nama-nama node berdasarkan spesifikasi pengembangan kode dan saran penamaan UI node.
- Sebuah tabel dihasilkan oleh hanya satu node, dan tabel tersebut harus dikonfigurasikan sebagai output dari node.
- Setiap nama node harus unik dalam sebuah ruang kerja.