Fitur konteks node secara otomatis meneruskan parameter antara node hulu dan hilir. Jenis parameter yang didukung mencakup konstanta, variabel, dan hasil kueri dari node hulu, sehingga memungkinkan penjadwalan dan eksekusi tugas secara dinamis.
Batasan
Edisi produk: Fitur Tambah parameter assignment (digunakan untuk meneruskan hasil kueri) hanya tersedia di DataWorks Edisi Standar dan versi yang lebih tinggi.
Pembatasan jenis node: Hanya jenis node tertentu yang mendukung penerusan hasil kueri menggunakan parameter assignment. Jenis yang didukung meliputi EMR Hive, EMR Spark SQL, ODPS Script, Hologres SQL, AnalyticDB for PostgreSQL, ClickHouse SQL, dan node MySQL.
Cara kerja
Parameter konteks node meneruskan nilai dengan mendefinisikan parameter output pada node hulu (penyedia) dan mereferensikannya pada node hilir (konsumen).
Node hulu (penyedia): Menghasilkan nilai dan meneruskannya sebagai parameter output. Anda dapat menyediakan nilai dengan salah satu dari dua cara berikut:
Konfigurasikan parameter output standar: Di bagian Output Parameters node hulu, definisikan parameter dan tetapkan nilainya. Nilai tersebut dapat berupa konstanta, seperti
'abc', atau variabel konteks sistem, seperti${status}.Konfigurasikan parameter output assignment: Sistem menangkap hasil kueri terakhir dalam kode node (misalnya,
SELECT 'table_A';) dan assign ke parameter output bawaan bernamaoutputs. Nilai parameter ini kemudian diteruskan ke node hilir. Nilai parameter bergantung pada hasil eksekusi kode. Metode ini didukung oleh assignment nodes dan beberapa SQL-based nodes.
Node hilir (konsumen): Menerima dan menggunakan nilai yang disediakan oleh node hulu.
Buat dependensi penjadwalan: Konfigurasikan dependensi penjadwalan pada node hulu.
Konfigurasikan parameter input: Di bagian Input Parameters node hilir, tambahkan parameter input dan atur sumber nilainya ke parameter output dari node hulu.
Referensikan nilai dalam kode: Dalam kode node hilir, referensikan nilai yang diterima dengan format
${input_parameter_name}. Misalnya, jika node hulu meneruskan nilaitable_A, maka kodeSELECT * FROM ${input};akan diuraikan menjadiSELECT * FROM table_A;saat waktu proses.
Akses area konfigurasi parameter
Masuk ke DataWorks console, alihkan ke wilayah yang diinginkan, lalu di panel navigasi kiri, pilih . Pilih ruang kerja target dari daftar drop-down dan klik Go to Data Development.
Di panel Data Studio, klik ganda node target untuk membuka halaman editnya.
Klik Properties di sisi kanan, lalu klik
di sisi kanan bagian Node Context untuk masuk ke area konfigurasi parameter konteks node.
Konfigurasikan parameter output
Saat mengonfigurasi parameter output untuk node saat ini di area konteks node, Anda dapat menyesuaikannya sesuai kebutuhan bisnis.
Konfigurasikan parameter output standar: Meneruskan konstanta atau variabel yang dikonfigurasi sebagai parameter output node saat ini ke node hilir.
Konfigurasikan parameter output assignment: Mengonfigurasi hasil kueri node saat ini sebagai parameter output yang akan diteruskan ke node hilir.
Konfigurasikan parameter output standar
Untuk meneruskan informasi parameter yang dikonfigurasi pada node hulu ke node hilir, lihat panduan berikut.
Parameter | Deskripsi |
No. | Nomor dikontrol oleh sistem dan bertambah secara otomatis. |
Parameter name | Tentukan nama kustom untuk parameter output. |
Type | Mendukung konstanta dan variabel. Anda dapat memilih tipe berdasarkan kebutuhan bisnis. |
Value | Nilai parameter output. Jenis nilai yang didukung mencakup konstanta dan variabel:
|
Description | Deskripsi singkat tentang parameter. |
Source | Sumber parameter saat ini. Opsi meliputi System Added, Parsed From Code, dan Manually Added. |
Actions | Mendukung aksi Save, Edit, dan Delete. Catatan Edit dan penghapusan tidak didukung ketika node hilir bergantung pada parameter tersebut. Sebelum node hilir mereferensikan node hulu, periksa dengan cermat untuk memastikan bahwa output hulu telah didefinisikan dengan benar. |
Setelah mengonfigurasi parameter, klik Save di kolom Actions.
Konfigurasikan parameter output assignment
Untuk meneruskan hasil kueri tugas saat ini sebagai parameter ke tugas hilir, ikuti langkah-langkah berikut.
Buka bagian node.
Klik Add assignment parameter untuk menambahkan parameter assignment output secara langsung.
Setelah Anda mengklik Add assignment parameter, parameter assignment tersebut akan meneruskan hasil kueri node saat ini ke node hilir yang mereferensikan parameter tersebut. Jika hasilnya kosong, node saat ini tidak diblokir, tetapi node hilir yang mereferensikan parameter tersebut mungkin gagal.
Node hilir harus menambahkan parameter assignment dari node hulu sebagai parameter input. Penggunaannya mirip dengan assignment node. Untuk informasi selengkapnya, lihat Assignment node.
Setelah mengonfigurasi parameter output node saat ini, Anda dapat melihat nama output yang ditambahkan oleh sistem di pada halaman konfigurasi. Node hilir dapat menggunakan nama output ini untuk mengikat dependensi dengan node saat ini.
Konfigurasikan parameter input
Konfigurasikan parameter input untuk node saat ini di area konteks node agar dapat memperoleh parameter output dari node hulu untuk digunakan dalam node ini.
Parameter input suatu node dapat digunakan untuk memperoleh parameter output dari node hulunya. Setelah parameter input ditambahkan, Anda dapat menggunakannya dalam kode node saat ini dengan cara yang sama seperti menggunakan variabel parameter penjadwalan dalam kode.
Hanya setelah node saat ini diatur untuk bergantung pada node hulu, Anda dapat menambahkan output node hulu tersebut sebagai parameter input node saat ini di area Input Parameters.
Parameter output telah dikonfigurasi pada node hulu. Lihat Konfigurasikan parameter output.
Siapkan dependensi hulu-hilir.
Di halaman edit node hilir, klik Properties di sisi kanan.
Di kotak dialog setelah Node Output di , masukkan dan pilih nama output yang Anda tentukan saat mengonfigurasi node hulu di Konfigurasikan parameter output.
Klik Add.
Konfigurasikan parameter input pada node hilir.
Di area Node Context, klik Add Input Parameter. Konfigurasikan parameter berdasarkan tabel berikut:
Parameter
Deskripsi
No.
Nomor dikontrol oleh sistem dan bertambah secara otomatis.
Parameter name
Tentukan nama kustom untuk parameter input. Nama parameter ini nantinya dapat Anda gunakan untuk mereferensikan informasi parameter yang diteruskan dari hulu di halaman edit node.
Value source
Nilai parameter berasal dari parameter output node hulu. Nilai aktualnya adalah hasil output aktual dari node hulu.
Description
Anda dapat memasukkan deskripsi kustom singkat tentang parameter.
Parent node ID
Dianalisis secara otomatis dari node hulu.
Source
Sumber parameter saat ini.
Opsi meliputi System Added, Parsed From Code, dan Manually Added.
Actions
Mendukung aksi Save, Edit, dan Delete.
Setelah mengonfigurasi parameter, klik Save di kolom Actions.
Gunakan parameter input di node hilir
Untuk menggunakan parameter input yang telah didefinisikan dalam suatu node, gunakan metode yang sama seperti variabel sistem lainnya. Referensikan dengan format ${input_parameter_name}. Bagian berikut menggunakan contoh node Shell untuk menjelaskan cara mereferensikan parameter tersebut.

Saat menjalankan tugas, jalankan alur kerja yang berisi node hulu dan hilir agar kedua node tersebut berjalan secara berurutan. Jika tidak, parameter input yang digunakan oleh node hilir tidak valid.
Variabel global yang didukung sistem
Variabel sistem
Variabel sistem
Deskripsi
${projectId}
ID Proyek.
${projectName}
Nama proyek MaxCompute.
${nodeId}
ID node.
${gmtdate}
00:00:00 pada hari waktu terjadwal instans, dalam format yyyy-MM-dd 00:00:00.
${taskId}
ID instans tugas.
${seq}
Nomor urut instans tugas, yang menunjukkan urutannya di antara instans node yang sama pada hari tersebut.
${cyctime}
Waktu terjadwal untuk instance.
${status}
Status instans: SUCCESS atau FAILURE.
${bizdate}
Tanggal bisnis.
${finishTime}
Waktu penyelesaian instance.
${taskType}
Jenis eksekusi instans: NORMAL, MANUAL, PAUSE, SKIP (dry run), UNCHOOSE, atau SKIP_CYCLE (dry run mingguan atau bulanan).
${nodeName}
Nama node.
Untuk informasi tentang pengaturan parameter lainnya, lihat Format parameter penjadwalan.