Di DataWorks, tugas dijadwalkan berdasarkan parameter penjadwalan yang dikonfigurasi. Nilai parameter ini diganti secara dinamis sesuai aturan penetapan nilai setiap kali tugas dijalankan. Topik ini menjelaskan format yang didukung dan cara menggunakan parameter penjadwalan.
Informasi latar belakang
Di Data Studio, setelah mendefinisikan variabel dalam format ${Variable} di kode suatu node dan mengonfigurasi parameter penjadwalan sebagai nilai di bagian Scheduling Parameters tab Properties, nilai parameter penjadwalan diganti secara dinamis saat node dijalankan.
Anda dapat menetapkan konstanta ke parameter penjadwalan. Jika konstanta ditetapkan, nilai yang sama diteruskan setiap kali tugas dijalankan.
Format parameter penjadwalan bervariasi berdasarkan jenis node. Sebagai contoh, parameter penjadwalan untuk node Shell hanya dapat dikonfigurasi dalam format $N, dengan N sebagai bilangan bulat mulai dari 1. Untuk informasi lebih lanjut, lihat Lampiran: Referensi.
Istilah
Parameter penjadwalan sering digunakan untuk menentukan titik waktu dinamis berdasarkan data timestamp atau scheduling time. Pemahaman tentang cap waktu data dan waktu penjadwalan penting untuk mengonfigurasi format nilai parameter penjadwalan. Tabel berikut menjelaskan konsep-konsep tersebut.
Istilah | Deskripsi |
Data timestamp | Hari sebelumnya dari waktu penjadwalan (waktu ketika Anda ingin menjadwalkan suatu tugas). Dalam skenario komputasi offline, cap waktu data mewakili tanggal di mana transaksi bisnis dilakukan. Nilai dari cap waktu data akurat hingga hari. Sebagai contoh, jika Anda mengumpulkan data statistik tentang omset hari sebelumnya pada hari saat ini, hari sebelumnya adalah tanggal di mana transaksi bisnis dilakukan dan mewakili cap waktu data. |
Scheduling time | Waktu ketika Anda ingin menjadwalkan tugas untuk memproses data bisnis. Waktu penjadwalan akurat hingga detik. Waktu penjadwalan bisa berbeda dari waktu aktual ketika tugas mulai dijalankan. Waktu aktual ketika suatu tugas dijalankan dipengaruhi oleh beberapa faktor. |
Format yang didukung dari parameter penjadwalan
Tampilan format parameter penjadwalan
Parameter penjadwalan digunakan untuk mendapatkan data waktu berbeda. Anda dapat memilih antara cap waktu data atau waktu penjadwalan berdasarkan kebutuhan bisnis. DataWorks menyediakan variabel terkait dengan format tetap. Metode berikut dapat digunakan untuk menentukan format waktu kustom:
Metode untuk Mendapatkan Data Waktu
Format Parameter
Contoh Parameter
Referensi
Mendapatkan data waktu berdasarkan cap waktu data
Parameter waktu kustom menggunakan cap waktu data terdiri dari
${},yyyy,yy,mm, dandd. Anda dapat menentukan waktu Ntahun,bulan, atauharisebelum atau sesudah cap waktu data saat ini.CatatanCap waktu data suatu tugas dihitung dengan mengurangi satu hari dari tanggal waktu penjadwalan, yang menunjukkan bahwa nilai parameter
${yyyymmdd}sama dengan nilai parameter$[yyyymmdd-1].Anda dapat menggunakan parameter waktu kustom dalam format
${…}, seperti${yyyymmdd}atau$[yyyymmdd-1], untuk mengambil data waktu. Contoh:${yyyymmdd±N}${yyyymmdd±7*N}${yy±N}${mm}${yyyy-mm-dd±N}
Untuk lebih banyak contoh, lihat bagian Lampiran 1: Parameter.
Mendapatkan data waktu berdasarkan waktu penjadwalan
Parameter waktu kustom menggunakan waktu penjadwalan terdiri dari
$[...],yyyy,yy,mm,dd,hh24,mi, danss. Anda dapat menentukan waktu Ntahun,bulan,hari,jam,menit, ataudetiksebelum atau sesudah waktu penjadwalan saat ini.Anda dapat menggunakan parameter waktu kustom dalam format
$[...], seperti$[yyyymmddhh24miss], untuk mendapatkan data waktu. Sebagai contoh, parameter$[yyyymmdd-1-1/24]dapat digunakan untuk menentukan waktu yang 1 jam lebih awal dari waktu saat ini pada hari sebelumnya.Untuk lebih banyak contoh, lihat bagian Lampiran 1: Parameter.
Untuk solusi masalah lintas hari, lihat Saya menjalankan instance dari suatu node pada pukul 00:00 hari saat ini untuk menganalisis data di partisi yang sesuai dengan pukul 23:00 hari sebelumnya. Namun, data di partisi yang sesuai dengan pukul 23:00 hari saat ini dianalisis. Apa yang harus saya lakukan?.
Jika parameter waktu kustom tidak memenuhi kebutuhan, gunakan parameter sebelumnya untuk mendapatkan data dan proses lebih lanjut dengan operasi berikut:
Skenario Sampel
Deskripsi
Referensi
Panggil fungsi mesin untuk mengonversi data waktu menjadi cap waktu.
Gunakan fungsi mesin dalam kode untuk mendapatkan data waktu yang diinginkan.
${mm}01: Mendapatkan hari pertama setiap bulan.
Gabungkan string untuk mendapatkan data waktu yang diinginkan.
Tidak ada
Perhatian
Parameter ${…}
Parameter ${…} akurat hingga hari. Tidak dapat digunakan untuk menentukan waktu hingga jam, menit, atau detik. Contohnya, format
${yyyy-mm-dd-1/24}tidak didukung.Untuk menentukan waktu spesifik tahun atau bulan, gunakan parameter
${…}. Contohnya:${yyyy-N}atau${mm-N}.
Parameter
$[…]Gunakan parameter
$[…]untuk menentukan waktu N jam atau menit sebelumnya.Parameter $[…] mendukung waktu hingga jam, menit, atau detik. Format
$[yyyy-N]atau$[mm-N]tidak didukung untuk waktu N tahun atau bulan sebelumnya. Gunakan parameter${...}untuk waktu spesifik tahun atau bulan.Untuk waktu hingga detik, gunakan parameter
$[...]. Contoh:$[yyyy-mm-dd-1-1/24].
Nilai parameter
$[...]tidak berubah dengan waktu aktual ketika instance dijalankan.Nilai parameter
$[...]ditentukan oleh waktu penjadwalan instance dan tetap konstan selama pelaksanaan.
CatatanSaat menggunakan parameter
$[...]untuk menentukan waktu hingga jam yang akurat, format 24-jam dan 12-jam didukung.hh24menunjukkan format 24-jam, sedangkanhhmenunjukkan format 12-jam.
Variabel
${bizdate}Kode dari beberapa node berisi variabel
${bizdate}. Variabel ini tidak memiliki arti khusus. Anda dapat menentukan nama variabel kustom dalam kode suatu node sesuai dengan kebutuhan bisnis Anda.Solusi untuk Masalah Lintas Hari
Untuk informasi tentang solusi, lihat Saya menjalankan instance dari suatu node pada pukul 00:00 hari saat ini untuk menganalisis data di partisi yang sesuai dengan pukul 23:00 hari sebelumnya. Namun, data di partisi yang sesuai dengan pukul 23:00 hari saat ini dianalisis. Apa yang harus saya lakukan?.
Lampiran: Referensi
Lampiran 1: Parameter
Parameter kustom dalam format ${…}
Tabel berikut menjelaskan format waktu umum yang sering digunakan.
Interval yang ingin Anda tambahkan atau kurangi | Parameter kustom |
N tahun yang lalu atau nanti |
|
N bulan yang lalu atau nanti |
|
N minggu yang lalu atau nanti |
|
N hari yang lalu atau nanti |
|
N hari yang lalu atau nanti |
|
N tahun yang lalu atau nanti dalam format yyyy |
|
N tahun yang lalu atau nanti dalam format yy |
|
Untuk menentukan waktu N bulan atau N tahun yang lalu, disarankan menggunakan parameter ${...}.
Parameter ${…} hanya mendukung penambahan atau pengurangan N hari, bulan, atau tahun.
Parameter kustom dalam format $[…]
Tabel berikut menjelaskan format waktu umum yang sering digunakan.
Interval yang ingin Anda tambahkan atau kurangi | Parameter kustom |
N tahun nanti |
|
N tahun yang lalu |
|
N bulan nanti |
|
N bulan yang lalu |
|
N minggu yang lalu atau nanti |
|
N hari yang lalu atau nanti |
|
N jam yang lalu atau nanti | Anda dapat menggunakan salah satu metode berikut untuk menambah atau mengurangi N jam:
|
N menit yang lalu atau nanti | Anda dapat menggunakan salah satu metode berikut untuk menambah atau mengurangi N menit:
|
hh24 (format 24-jam) dan hh (format 12-jam) menunjukkan jam. Nilai parameter $cyctime akurat hingga jam, menit, atau detik. Oleh karena itu, nilai parameter $[...] juga akurat hingga jam, menit, atau detik. Anda dapat menggunakan fungsi mesin untuk menentukan parameter kustom dalam format yang tidak dijelaskan dalam topik ini. Untuk informasi lebih lanjut, lihat Saya menjalankan instance dari suatu node pada pukul 00:00 hari saat ini untuk menganalisis data di partisi yang sesuai dengan pukul 23:00 hari sebelumnya. Namun, data di partisi yang sesuai dengan pukul 23:00 hari saat ini dianalisis. Apa yang harus saya lakukan?
Untuk menentukan waktu N jam atau N menit yang lalu, gunakan parameter $[...].
Nilai parameter penjadwalan ditentukan saat instance dihasilkan dan tidak berubah dengan waktu aktual.
Parameter bawaan
DataWorks mendukung parameter bawaan yang dijelaskan dalam tabel berikut. Meskipun dapat digunakan, parameter bawaan kurang fleksibel dibandingkan parameter waktu kustom.
Parameter bawaan | Deskripsi |
$bizdate | Cap waktu data dari tugas. Nilai dari parameter ini dalam format Parameter ini banyak digunakan. Secara default, cap waktu data dari suatu tugas adalah satu hari lebih awal dari waktu penjadwalan tugas tersebut. |
$cyctime | Waktu penjadwalan dari tugas. Nilai dari parameter ini dalam format |
$gmtdate | Tanggal saat ini. Nilai dari parameter ini dalam format Secara default, nilai dari parameter ini adalah tanggal saat ini. Ketika Anda mengisi ulang data untuk suatu tugas, atur parameter ini ke waktu yang |
$bizmonth | Bulan yang ditentukan oleh cap waktu data dari tugas. Nilai dari parameter ini dalam format
|
$jobid | ID alur kerja tempat tugas tersebut termasuk. |
$nodeid | ID node. |
$taskid | ID instance yang dihasilkan untuk node. |
Lampiran 2: Hubungan antara parameter penjadwalan dan cap waktu data, waktu penjadwalan, serta waktu pelaksanaan aktual dari suatu node
Hubungan | Deskripsi dan Contoh |
Hubungan Antara Parameter Penjadwalan dan Waktu Pelaksanaan Aktual | Nilai parameter penjadwalan ditentukan saat instance dihasilkan dan tidak berubah dengan waktu aktual. |
Hubungan Antara Parameter Penjadwalan dan Waktu Penjadwalan | Jika menggunakan parameter $[…] untuk waktu hingga jam atau menit, nilainya ditentukan berdasarkan waktu penjadwalan. Penggantian nilai jika node dijadwalkan setiap jam dari
|
Hubungan Antara Parameter Penjadwalan dan Cap Waktu Data serta Waktu Penjadwalan |
Lampiran 3: Parameter penjadwalan bawaan yang didukung
Parameter penjadwalan bawaan | Deskripsi |
${projectId} | ID proyek MaxCompute. |
${projectName} | Nama proyek MaxCompute. |
${nodeId} | ID node. |
${gmtdate} | Tanggal ketika instance dijadwalkan untuk dijalankan, dalam format yyyy-MM-dd 00:00:00. |
${taskId} | ID instance tugas. |
${seq} | Nomor urutan instance tugas, yang menunjukkan peringkat instance ini di antara semua instance pada hari yang sama. |
${cyctime} | Waktu ketika instance dijadwalkan untuk dijalankan. |
${status} | Status dari instance. Nilai valid: SUCCESS dan FAILURE. |
${bizdate} | Cap waktu data. |
${finishTime} | Waktu ketika instance selesai dijalankan. |
${taskType} | Mode di mana instance dijalankan. Nilai valid: NORMAL, MANUAL, PAUSE, SKIP, UNCHOOSE, dan SKIP_CYCLE. |
${nodeName} | Nama node. |
Lampiran 4: Deskripsi tentang waktu penyimpanan siang hari
Di DataWorks, tugas dapat dijalankan sesuai harapan selama periode waktu penyimpanan siang hari. Untuk menghindari dampak pergantian waktu terhadap pelaksanaan tugas, lihat topik Dampak yang Ditimbulkan oleh Pergantian Waktu Penyimpanan Siang Hari terhadap Pelaksanaan Tugas jika wilayah tempat tugas berada menggunakan waktu penyimpanan siang hari.