Topik ini menjelaskan variabel yang digunakan dalam orkestrasi tugas.
Ikhtisar
Variabel adalah nilai dinamis dalam alur tugas, mencakup variabel sistem, variabel waktu, dan variabel non-waktu. Variabel dapat dirujuk secara dinamis dalam format ${varName} di dalam node.
Variabel sistem
Variabel sistem adalah variabel yang telah ditentukan sebelumnya dalam sistem, seperti ID alur tugas dan waktu eksekusi alur tugas.
Variabel selain variabel sistem disebut sebagai variabel kustom. Nama variabel kustom harus unik. Prioritas variabel kustom lebih tinggi daripada variabel sistem. Jika variabel kustom memiliki nama yang sama dengan variabel sistem, nilai variabel kustom akan menimpa nilai variabel sistem.
Variabel waktu
Variabel alur tugas (variabel global): Variabel alur tugas diimbangi berdasarkan cap waktu data dan dapat digunakan pada semua node dalam alur tugas saat ini. Secara default, cap waktu data adalah hari sebelum alur tugas dijalankan.
CatatanAnda dapat mengonfigurasi variabel alur tugas pada salah satu node dalam alur tugas. Konfigurasi tersebut akan otomatis disinkronkan ke node lain dalam alur tugas.
Variabel node: Variabel node diimbangi berdasarkan variabel waktu bawaan bizdate(T-1). Variabel node hanya dapat digunakan pada node saat ini.
Sebagai contoh, jika tanggal saat ini adalah 22 Agustus 2023 dan offset variabel node diatur ke +1 Hari, variabel node tersebut menunjukkan 23 Agustus 2023.
Variabel non-waktu
Konstanta alur tugas (variabel global): Konstanta alur tugas adalah nilai tetap dan dapat digunakan pada semua node dalam alur tugas saat ini.
Variabel input: Variabel input secara otomatis diperoleh oleh Data Management (DMS). Anda dapat menggunakan ${var_name} untuk merujuk variabel input dalam Pernyataan SQL untuk node saat ini. Variabel input juga dapat digunakan sebagai kondisi filter untuk node Conditional Branch. Berikut adalah jenis variabel input:
Variabel hulu: Variabel hulu adalah variabel output dari node hulu.
Variabel status: Untuk informasi lebih lanjut, lihat bagian Variabel status dari topik ini.
Variabel sistem: Untuk informasi lebih lanjut, lihat bagian Variabel sistem dari topik ini.
Variabel output: Variabel output didefinisikan dan nilainya ditetapkan pada node saat ini. Variabel output dapat diakses dan dirujuk oleh node hilir.
Sebagai contoh, jika Anda mengonfigurasi variabel output pada node Script, variabel output tersebut dapat dirujuk dalam Pernyataan SQL node hilir.
Variabel output yang ditetapkan pada node Single Instance SQL: Anda dapat menggunakan node Single Instance SQL untuk mendefinisikan set hasil dari pernyataan SQL. Set hasil dapat digunakan sebagai matriks 2D. Selama proses definisi variabel, Anda dapat mengambil elemen dari matriks atau melakukan penggabungan karakter berbasis vektor baris i dan vektor kolom j.
Variabel output skrip: Jika baris terakhir dari file skrip adalah string JSON dalam format
{ key1: value1, key2: value2, … }untuk node Skrip, tugas skrip mem-parsing pasangan kunci-nilai dalam string JSON untuk mendapatkan variabel output. Untuk setiap variabel, nama adalah kunci dan nilainya adalah nilai dari kunci. Anda dapat merujuk variabel output skrip dalam format${key}dalam Pernyataan SQL node hilir.Sebagai contoh, jika baris terakhir dari file skrip adalah
echo {"hello": "world"}, tugas skrip mem-parsing pasangan kunci-nilai untuk mendapatkan variabel output yang namanya adalah hello dan nilainya adalah world.
Konfigurasikan variabel waktu
Parameter | Deskripsi |
Variable Name | Nama variabel waktu kustom. Catatan Untuk menghapus variabel yang telah dikonfigurasi, klik ikon |
Variable Rule | Konfigurasi format waktu dan offset waktu dari variabel waktu kustom.
Catatan Setelah Anda mengonfigurasi variabel waktu, Anda dapat merujuk variabel tersebut dalam format |
Format waktu
Tabel berikut menjelaskan variabel waktu yang dapat digunakan untuk mendefinisikan format waktu dari variabel kustom.
Variabel waktu | Deskripsi | Format contoh | Nilai contoh |
Masehi (AD) | G menunjukkan Masehi. | Gyyyy | Masehi 2021 |
Tahun |
| yyyy | 2021 |
Bulan | M: bulan dari tahun. Nilai valid M: [1,12]. Nilai valid MM: [01,12] | MM | 08 |
Minggu |
| ww | 13 |
Hari |
| D | 360 |
Hari dalam seminggu |
| e | 1 |
Ante meridiem (AM) atau post meridiem (PM) | a: menunjukkan apakah waktu berada sebelum atau sesudah tengah hari. Jika waktu berada dalam rentang 00:00 hingga 11:59, nilai yang dikembalikan adalah AM. Jika waktu berada dalam rentang 12:00 hingga 23:59, nilai yang dikembalikan adalah PM. | a | AM |
Jam |
| HH | 10 |
Menit | m: menit dari jam. Nilai valid m: [0,59]. Nilai valid mm: [00,59]. | m | 27 |
Detik |
| ss | 08 |
Zona waktu | z: zona waktu. | z | UTC+08:00 |
Tabel berikut menjelaskan format waktu contoh yang menggunakan beberapa variabel waktu.
Format contoh | Nilai contoh |
| 2021-08-12 |
| 20210801 |
| 11:05:21 |
| 20210812 11:05:21 |
Variabel sistem
Variabel | Deskripsi | Contoh |
sys.flow.start.timestamp | Cap waktu yang dihasilkan ketika alur tugas dijalankan. | 2021-05-24T11:20:07.562+08:00 |
sys.flow.start.year | Tahun ketika alur tugas dijalankan. | 2021 |
sys.flow.start.month | Bulan dari tahun ketika alur tugas dijalankan. | 5 |
sys.flow.start.day | Hari dari bulan ketika alur tugas dijalankan. | 24 |
sys.flow.start.hour | Jam dari hari ketika alur tugas dijalankan. | 11 |
sys.flow.start.minute | Menit dari jam ketika alur tugas dijalankan. | 20 |
sys.flow.start.second | Detik dari menit ketika alur tugas dijalankan. | 7 |
sys.flow.start.milliseconds | Milidetik dari detik ketika alur tugas dijalankan. | 562 |
sys.flow.start.timezone | Zona waktu. | Asia/Shanghai |
sys.flow.biztime | Cap waktu data. Secara default, cap waktu data adalah hari sebelum hari ketika alur tugas dijalankan. | 1621740007562 |
sys.flow.name | Nama alur tugas. | dwd_activityDailyPV |
sys.node.name | Nama node dalam alur tugas. | Single Instance SQL-1 |
Variabel status
Variabel | Deskripsi |
all_success | Semua tugas dijalankan. |
all_failed | Semua tugas gagal dijalankan. |
one_success | Sebuah tugas dari alur tugas saat ini dijalankan. |
one_failed | Sebuah tugas dari alur tugas saat ini gagal dijalankan. |
Anda dapat menggunakan variabel status pada node Conditional Branch untuk membuat evaluasi bersyarat dalam alur tugas. Tugas-tugas berikutnya dalam alur tugas hanya dapat dijalankan jika node Conditional Branch memenuhi kondisi yang ditentukan.
di sebelah kanan bidang Nama Variabel.