Jika dependensi penjadwalan siklus yang sama dikonfigurasi untuk sebuah node, instance yang dihasilkan untuk node tersebut dalam siklus saat ini bergantung pada data dari instance yang dihasilkan untuk node lain dalam siklus penjadwalan yang sama. Node saat ini hanya dapat dijalankan sesuai harapan setelah instance yang dihasilkan untuk node lain berhasil dijalankan. Jika node saat ini perlu bergantung pada data dalam tabel yang dihasilkan oleh node lain dalam siklus penjadwalan yang sama, Anda dapat mengonfigurasi dependensi penjadwalan siklus yang sama untuk node tersebut. DataWorks memungkinkan Anda mengonfigurasi dependensi penjadwalan siklus yang sama dengan berbagai metode dan menyediakan fitur pratinjau dependensi. Anda dapat melihat dan menyesuaikan dependensi penjadwalan yang salah pada kesempatan pertama untuk memastikan bahwa node dijadwalkan sesuai harapan. Topik ini menjelaskan tindakan pencegahan, logika, dan metode untuk mengonfigurasi dependensi penjadwalan siklus yang sama.
Tindakan pencegahan
Untuk memastikan konfigurasi dependensi penjadwalan berjalan lancar, Anda harus memahami informasi yang dijelaskan dalam Panduan Konfigurasi Dependensi Penjadwalan.
Dalam grafik asiklik terarah (DAG) dari sebuah node, dependensi penjadwalan siklus yang sama untuk node tersebut disajikan sebagai garis solid.
Jika dependensi penjadwalan siklus yang sama antar node tidak dapat memenuhi kebutuhan Anda dalam skenario kompleks tertentu, Anda dapat mengonfigurasi dependensi penjadwalan lintas siklus antar node. Sebagai contoh, jika sebuah node yang dijadwalkan harian bergantung pada node yang dijadwalkan per jam, instance yang dihasilkan untuk node yang dijadwalkan harian bergantung pada semua instance yang dihasilkan untuk node yang dijadwalkan per jam pada hari saat ini secara default. Jika Anda mengonfigurasi ketergantungan diri untuk node yang dijadwalkan per jam, Anda dapat menentukan bahwa node yang dijadwalkan harian bergantung pada instance yang dihasilkan untuk node yang dijadwalkan per jam dalam siklus penjadwalan tertentu. Untuk informasi lebih lanjut, lihat Prinsip dan Contoh Konfigurasi Penjadwalan dalam Skenario Dependensi Kompleks.
Untuk mencegah penjadwalan tertunda dari node dalam lingkungan produksi karena dependensi penjadwalan yang tidak terduga, kami sarankan Anda menggunakan fitur pratinjau untuk memeriksa apakah dependensi penjadwalan untuk instance yang dihasilkan untuk node memenuhi harapan Anda sebelum Anda menerapkan node tersebut. Untuk informasi lebih lanjut, lihat Pratinjau Dependensi Penjadwalan Sebuah Node.
Prinsip konfigurasi
Untuk meningkatkan efisiensi pengembangan node, kami sarankan Anda menggunakan fitur penguraian otomatis untuk dengan cepat mengonfigurasi dependensi penjadwalan untuk node. Anda harus mematuhi prinsip-prinsip berikut selama proses pengembangan:
Pembuatan node: Disarankan untuk menentukan nama node yang sesuai dengan nama tabel output dari node tersebut.
Pengembangan kode: Hindari penggunaan beberapa node untuk menulis data ke tabel yang sama.
Konfigurasi dependensi: Disarankan untuk menggunakan tabel yang dihasilkan oleh sebuah node sebagai output dari node tersebut.
Titik masuk konfigurasi dan deskripsi
Anda dapat pergi ke tab konfigurasi node yang Anda buat di DataStudio dan klik tab Properties di panel navigasi di sebelah kanan untuk mengonfigurasi dependensi penjadwalan untuk node tersebut di bagian Dependencies tab Properti.
Saat Anda mengonfigurasi dependensi penjadwalan siklus yang sama untuk sebuah node, Anda harus menentukan node-node tempat node saat ini perlu bergantung di bagian Parent Nodes dan menentukan node lain yang perlu bergantung pada node saat ini berdasarkan output node saat ini di bagian Output Name of Current Node.
Secara default, Anda dapat mengonfigurasi dependensi penjadwalan untuk sebuah node berdasarkan garis keturunan antara tabel tempat Anda ingin membaca data dan tabel tempat Anda ingin menulis data dalam kode node. Saat Anda melakukan commit node, DataWorks memeriksa apakah dependensi penjadwalan dikonfigurasi sesuai harapan. Untuk informasi lebih lanjut, lihat Konfirmasi Garis Keturunan Sebuah Tabel. Anda dapat menentukan apakah akan melakukan penguraian otomatis untuk kode sebelum Anda melakukan commit node yang diinginkan berdasarkan kebutuhan bisnis Anda. Untuk informasi lebih lanjut, lihat Konfigurasikan Pengaturan Penjadwalan.
DataWorks mendukung berbagai metode konfigurasi, seperti konfigurasi berdasarkan garis keturunan dalam kode node, konfigurasi dengan menggambar garis di tab konfigurasi alur kerja, dan konfigurasi manual. Anda dapat memilih metode konfigurasi berdasarkan kebutuhan bisnis Anda. Untuk informasi lebih lanjut, lihat bagian Metode Konfigurasi dalam topik ini.
Jika instance yang dihasilkan untuk sebuah node dalam siklus saat ini perlu bergantung pada data dari instance yang dihasilkan untuk node lain pada hari sebelumnya atau jika instance yang dihasilkan untuk node yang dijadwalkan per jam atau menit dalam siklus saat ini perlu bergantung pada instance yang dihasilkan untuk node yang sama dalam siklus sebelumnya, Anda dapat mengonfigurasi dependensi penjadwalan lintas siklus. Untuk informasi lebih lanjut, lihat Konfigurasikan Dependensi Penjadwalan Lintas Siklus.
Untuk informasi tentang FAQ dalam proses konfigurasi dependensi penjadwalan dan praktik terbaik untuk konfigurasi dependensi penjadwalan antar node yang termasuk dalam ruang kerja atau alur kerja yang berbeda, lihat Lampiran 1: FAQ dan Lampiran 2: Praktik Terbaik.

Node leluhur
Anda dapat menentukan node-node tempat node saat ini bergantung. Setelah node ditentukan, node saat ini hanya dapat mulai dijalankan setelah node leluhur berhasil dijalankan. Anda harus memasukkan output dari node leluhur sebagai input dari node saat ini. Perhatikan hal-hal berikut saat Anda menentukan node-node tempat node saat ini bergantung:
Anda harus mengonfigurasi node leluhur untuk semua node. Kami sarankan Anda mengonfigurasi node leluhur untuk sebuah node berdasarkan garis keturunan tabel. Jika tidak ada garis keturunan tabel, Anda dapat memilih node root atau node beban nol dari ruang kerja sebagai node leluhur untuk node saat ini berdasarkan kebutuhan bisnis Anda. Untuk informasi lebih lanjut, lihat Panduan Konfigurasi Dependensi Penjadwalan.
Pastikan bahwa node leluhur telah dicommit. Jika terjadi kesalahan yang menunjukkan bahwa output dari node leluhur tidak ada saat Anda melakukan commit node saat ini, periksa apakah node leluhur telah dicommit.
Gambar berikut menunjukkan semua metode yang dapat Anda gunakan untuk menentukan node leluhur untuk node saat ini.
Saat Anda menggunakan metode rekomendasi otomatis untuk menentukan node-node tempat node saat ini bergantung, pastikan bahwa node yang direkomendasikan telah dicommit dan diterapkan ke lingkungan produksi dan menghasilkan tabel yang diinginkan. Node yang direkomendasikan harus dicommit ke sistem penjadwalan pada hari sebelumnya. Dengan cara ini, node dapat diidentifikasi oleh fitur rekomendasi otomatis setelah data dihasilkan pada hari saat ini. Oleh karena itu, node yang direkomendasikan secara otomatis diperbarui dengan penundaan satu hari.
Rekomendasi otomatis hanya tersedia untuk node ODPS SQL.
Output node saat ini
Anda dapat mengonfigurasi output dari sebuah node untuk menetapkan dependensi penjadwalan antara node saat ini dan node lain. Node lain menemukan node saat ini dengan mencari nama output dari node saat ini, dan node saat ini ditentukan sebagai node leluhur dari sebuah node berdasarkan konfigurasi dependensi penjadwalan. Jika node saat ini dikonfigurasi sebagai node leluhur dari node turunan, nama output dari node saat ini berisi nama node turunan setelah node turunan dicommit. DataWorks tidak mengizinkan Anda secara manual memodifikasi node turunan di bagian Nama Output Node Saat Ini dari node saat ini. Gambar berikut menunjukkan semua metode untuk menentukan output dari node saat ini.
Di DataWorks, nama output yang dihasilkan untuk sebuah node sama dengan nama node. Jika ruang kerja berisi node yang memiliki nama yang sama, node tersebut mungkin gagal dicommit karena nama output yang duplikat. Jika Anda menghapus output dari sebuah node yang memiliki node turunan, dampak serius mungkin terjadi. Untuk informasi lebih lanjut, lihat Lampiran 3: Dampak dari Penghapusan atau Modifikasi Output Sebuah Node.

Logika konfigurasi
Untuk mengonfigurasi dependensi penjadwalan antar node, Anda menggunakan output dari sebuah node sebagai input dari node lain. Dengan cara ini, dependensi penjadwalan antar node terbentuk. Kami sarankan Anda mengonfigurasi dependensi penjadwalan antar node berdasarkan garis keturunan antara tabel tempat Anda ingin membaca data dan tabel tempat Anda ingin menulis data. Setelah dependensi penjadwalan dikonfigurasi, node turunan hanya dapat mulai dijalankan setelah node leluhur berhasil dijalankan. Dependensi penjadwalan membantu memastikan bahwa sebuah node dapat memperoleh data yang diperlukan untuk menjalankannya dari node leluhurnya. Untuk informasi tentang cara mengonfirmasi garis keturunan tabel, lihat Konfirmasi Garis Keturunan Sebuah Tabel.
Anda dapat mengonfigurasi dependensi penjadwalan antar node dengan menggunakan metode yang dijelaskan dalam tabel berikut. Logika konfigurasi sama untuk ketiga metode.
Metode Konfigurasi | Deskripsi |
DataWorks secara otomatis menambahkan output yang namanya diakhiri dengan _out dari node leluhur sebagai input dari node turunan. | |
Anda dapat mengonfigurasi dependensi penjadwalan antar node berdasarkan fitur penguraian otomatis. Fitur ini dapat secara otomatis menguraikan garis keturunan tabel berdasarkan kode node dan memungkinkan Anda dengan cepat mengonfigurasi dependensi penjadwalan antar node. | |
Tambahkan node leluhur secara manual untuk sebuah node di bagian Dependensi | Dalam kebanyakan kasus, Anda dapat menggunakan metode ini untuk memodifikasi dependensi penjadwalan sebuah node jika dependensi penjadwalan yang diperoleh dengan menggunakan fitur penguraian otomatis tidak memenuhi kebutuhan bisnis Anda. |
Metode konfigurasi
Gambarlah garis di tab konfigurasi alur kerja untuk menghubungkan node dan menetapkan dependensi penjadwalan antar node
Jika Anda mengonfigurasi dependensi penjadwalan antar node dengan menggambar garis untuk menghubungkan node di tab konfigurasi alur kerja, DataWorks secara otomatis menambahkan output yang namanya diakhiri dengan _out dari node leluhur sebagai input dari node turunan.
Jika garis koneksi untuk dependensi penjadwalan dihapus dari tab konfigurasi alur kerja, dependensi penjadwalan juga dihapus dari konfigurasi penjadwalan node.
Tambahkan node leluhur secara manual untuk sebuah node di bagian Dependensi
Di bagian Node Induk, Anda dapat memasukkan output dari sebuah node untuk menambahkan node tersebut sebagai node leluhur dari node saat ini. Nama output dalam format namaproject.namatabel.
Gunakan fitur penguraian otomatis untuk mengonfigurasi dependensi penjadwalan antar node berdasarkan garis keturunan tabel
DataWorks memungkinkan Anda dengan cepat mengonfigurasi dependensi penjadwalan antar node dengan menggunakan garis keturunan tabel dalam kode node. Jika Anda mengaktifkan fitur penguraian otomatis, sistem menamai tabel yang dihasilkan oleh sebuah node dalam format namaproject.namatabel dan menggunakan tabel tersebut sebagai output dari node. Sistem juga menambahkan tabel yang diquery oleh node sebagai input dari node. Sebagai contoh, jika sebuah tabel ditentukan dalam pernyataan SELECT dalam kode node, sistem menambahkan tabel tersebut ke Node Induk untuk node berdasarkan fitur penguraian otomatis. Jika sebuah tabel ditentukan dalam pernyataan INSERT dalam kode node, sistem menambahkan tabel tersebut ke Output untuk node berdasarkan fitur penguraian otomatis. Untuk informasi tentang kata kunci yang didukung oleh fitur penguraian otomatis untuk berbagai jenis node, lihat Dukungan untuk Fitur Penguraian Otomatis.
Detail konfigurasi dependensi penjadwalan antar node berdasarkan fitur penguraian otomatis:
Konfigurasikan dependensi penjadwalan antar node berdasarkan fitur penguraian otomatis
Gambar-gambar berikut menunjukkan cara dependensi penjadwalan dikonfigurasi antar node berdasarkan fitur penguraian otomatis.

Modifikasi dependensi penjadwalan yang diperoleh berdasarkan fitur penguraian otomatis
Jika dependensi penjadwalan yang dikonfigurasi antar node berdasarkan fitur penguraian otomatis tidak memenuhi harapan Anda, atau konfigurasi dependensi penjadwalan tidak didukung (tabel yang datanya tidak dihasilkan berdasarkan penjadwalan periodik), Anda dapat merujuk pada tabel berikut untuk memodifikasi dependensi penjadwalan yang diperoleh berdasarkan fitur penguraian otomatis.
Skenario dan metode
Deskripsi
Contoh operasi dan hasil
Gunakan kode untuk menghapus input dan output sebuah node saat fitur penguraian otomatis diaktifkan.
Jalankan perintah dalam kode node untuk menghapus atau menambahkan input dan output node, dan uraikan kembali input dan output node.
Setelah input dan output node dihapus atau ditambahkan, komentar secara otomatis ditambahkan ke hasil penguraian otomatis.
--@exclude_input=Hapus input sebuah node
--@exclude_output=Hapus output sebuah node
--@extra_output=Tambahkan output sebuah node
--@extra_input=Tambahkan input sebuah node

Modifikasi input dan output sebuah node yang diperoleh berdasarkan fitur penguraian otomatis saat fitur penguraian otomatis dinonaktifkan.
DataWorks tidak mengizinkan Anda menghapus output dari sebuah node yang memiliki node turunan. Jika Anda menghapus output dari node tersebut, kesalahan terjadi saat node turunan dijalankan atau node turunan tidak dapat memperoleh data.
Dalam kasus ini, kami sarankan Anda menyesuaikan logika bisnis hilir. Anda dapat menghapus dependensi pada node leluhur saat ini untuk node turunan sebelum Anda menghapus output dari node tersebut.

Node yang tidak mendukung fitur penguraian otomatis
Tabel sementara di DataWorks, yang didefinisikan pada tab Manajemen Tabel dan berada dalam format tetap, seperti tabel dengan awalan
t_, tidak digunakan sebagai output atau input node saat ini berdasarkan fitur penguraian otomatis.Tindakan Pencegahan untuk Menggunakan Fitur Penguraian Otomatis
Saat Anda menggunakan fitur penguraian otomatis untuk mengonfigurasi dependensi penjadwalan, Anda harus memastikan bahwa nama output dari sebuah node unik di wilayah saat ini. Perhatikan hal-hal berikut saat Anda menggunakan fitur penguraian otomatis dalam pengembangan node di DataWorks:
Pembuatan Node: Di DataWorks, nama output yang dihasilkan untuk sebuah node sama dengan nama node. Jika ruang kerja berisi node yang memiliki nama yang sama, Anda harus secara manual mengubah nama output dari salah satu node.
Pengembangan Kode: Fitur penguraian otomatis menggunakan tabel yang dihasilkan oleh sebuah node sebagai output dari node. Di ruang kerja, jika dua node digunakan untuk menulis data ke tabel yang sama, kesalahan mungkin dilaporkan untuk salah satu node dalam skenario penguraian otomatis. Untuk informasi lebih lanjut, lihat Apakah beberapa node dapat memiliki nama output yang sama?
Konfigurasi Dependensi: Dalam skenario di mana node SQL digunakan untuk memproses tabel yang dihasilkan oleh node sinkronisasi batch, Anda dapat menggunakan fitur penguraian otomatis untuk mengonfigurasi dependensi penjadwalan untuk node sinkronisasi batch berdasarkan garis keturunan. Anda harus secara manual mengonfigurasi tabel output dari node sinkronisasi batch sebagai output dari node, atau menggunakan nama tabel output dari node sinkronisasi batch sebagai nama dari node sinkronisasi batch. Jika tidak, kesalahan berikut mungkin dilaporkan saat Anda melakukan commit node SQL yang bergantung pada node sinkronisasi batch: Output yang bernama dalam format ${projectname.tablename} untuk node leluhur tidak ada. Node saat ini tidak dapat dicommit. Pastikan bahwa node leluhur yang nama outputnya dalam format ${projectname.tablename} telah dicommit. Di DataWorks, nama output yang dihasilkan untuk sebuah node sama dengan nama node.
Langkah-langkah selanjutnya: Periksa apakah dependensi penjadwalan memenuhi harapan Anda
Setelah dependensi penjadwalan dikonfigurasi, Anda dapat melakukan operasi berikut untuk memastikan bahwa node dijadwalkan sesuai harapan:
Pratinjau Dependensi Penjadwalan: Cegah penjadwalan tertunda dari node dalam lingkungan produksi karena dependensi penjadwalan yang tidak terduga.
Commit Node: Periksa apakah perubahan pada dependensi penjadwalan antar node memenuhi harapan Anda saat Anda melakukan commit node.
Konfirmasi Dependensi Penjadwalan Antar Node di Pusat Operasi: Setelah Anda menerapkan node, periksa apakah dependensi penjadwalan antar node yang dipicu otomatis dalam lingkungan produksi memenuhi harapan Anda di Pusat Operasi. Node yang dipicu otomatis dalam lingkungan produksi adalah node dalam status terbaru. Dependensi penjadwalan antar instance yang dihasilkan untuk node relevan dengan parameter Mode Pembuatan Instance.
Untuk informasi lebih lanjut, lihat Konfirmasi Dependensi Penjadwalan.
Lampiran 1: FAQ
Apa yang harus saya lakukan jika output dari node tempat node saat ini bergantung tidak ada?
Apa yang harus saya lakukan jika nama output dari sebuah node tidak unik?
Untuk pertanyaan yang sering diajukan lainnya, lihat Dependensi Penjadwalan.
Lampiran 2: Praktik terbaik
Untuk informasi tentang cara mengonfigurasi dependensi penjadwalan antar node yang termasuk dalam ruang kerja yang berbeda atau antar node yang termasuk dalam alur kerja yang berbeda dalam ruang kerja yang sama, lihat Skenario 3: Konfigurasikan Dependensi untuk Node Lintas Alur Kerja atau Ruang Kerja.
Lampiran 3: Dampak dari penghapusan atau modifikasi output sebuah node
Jika Anda mengubah tabel yang dihasilkan oleh sebuah node, output dari node tersebut juga berubah. Anda juga dapat langsung memodifikasi output dari sebuah node. Perhatikan hal-hal berikut saat Anda menghapus atau memodifikasi output dari sebuah node:
Tidak ada dampak pada tabel yang dihasilkan oleh sebuah node jika Anda menghapus output dari node tersebut.
Jika Anda menghapus atau memodifikasi output dari sebuah node yang memiliki node turunan, dampak serius mungkin terjadi pada node turunan.
Penghapusan tabel yang dihasilkan oleh sebuah node: Jika tabel yang dihasilkan oleh sebuah node dihapus, node turunan dari node tersebut mungkin menjadi node terisolasi dan tidak dapat dijadwalkan, atau data hilir mungkin terpengaruh karena kehilangan dependensi penjadwalan untuk node turunan.
Modifikasi tabel yang dihasilkan oleh sebuah node: Anda dapat mentransfer tabel yang dihasilkan oleh sebuah node ke node lain. Untuk informasi lebih lanjut, lihat Dampak dari Penghapusan atau Perubahan Output Sebuah Node.
Saat Anda menghapus output dari sebuah node yang memiliki node turunan, kami sarankan Anda memberi tahu pemilik node turunan tentang penghapusan tersebut terlebih dahulu dan meminta pemilik untuk menyesuaikan dependensi penjadwalan dari node turunan sesegera mungkin untuk mencegah node turunan menjadi node terisolasi.