全部产品
Search
文档中心

DataWorks:Format yang didukung dari parameter penjadwalan

更新时间:Jul 02, 2025

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.

Catatan
  • 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, dan dd. Anda dapat menentukan waktu N tahun, bulan, atau hari sebelum atau sesudah cap waktu data saat ini.

    Catatan

    Cap 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, dan ss. Anda dapat menentukan waktu N tahun, bulan, hari, jam, menit, atau detik sebelum 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.

  • 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.

    Proses Nilai Balik dari Parameter Penjadwalan.

    ${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.

    Catatan
    • Saat menggunakan parameter $[...] untuk menentukan waktu hingga jam yang akurat, format 24-jam dan 12-jam didukung.

    • hh24 menunjukkan format 24-jam, sedangkan hh menunjukkan 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

${yyyy±N}

N bulan yang lalu atau nanti

${yyyymm±N}

N minggu yang lalu atau nanti

${yyyymmdd±7*N}

N hari yang lalu atau nanti

${yyyymmdd±N}

N hari yang lalu atau nanti

${yyyymmdd±N}

N tahun yang lalu atau nanti dalam format yyyy

${yyyy±N}

N tahun yang lalu atau nanti dalam format yy

${yy±N}

Catatan

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

$[add_months(yyyymmdd,12*N)]

N tahun yang lalu

$[add_months(yyyymmdd,-12*N)]

N bulan nanti

$[add_months(yyyymmdd,N)]

N bulan yang lalu

$[add_months(yyyymmdd,-N)]

N minggu yang lalu atau nanti

$[yyyymmdd±7*N]

N hari yang lalu atau nanti

$[yyyymmdd±N]

N jam yang lalu atau nanti

Anda dapat menggunakan salah satu metode berikut untuk menambah atau mengurangi N jam:

  • $[hh24miss±N/24] dan $[hh24±N/24]

  • $[Format waktu kustom±N/24]

    Sebagai contoh, Anda dapat menggunakan parameter waktu kustom berikut untuk menentukan waktu yang 1 jam yang lalu:

    • Bulan tertentu: $[mm-1/24]

    • Tahun tertentu: $[yyyy-1/24]

    • Bulan tertentu dari tahun tertentu: $[yyyymm-1/24]

    • Hari tertentu dari bulan tertentu dari tahun tertentu: $[yyyymmdd-1/24]

    • Hari sebelum hari tertentu: $[yyyymmdd-1-1/24]

N menit yang lalu atau nanti

Anda dapat menggunakan salah satu metode berikut untuk menambah atau mengurangi N menit:

  • $[hh24miss±N/24/60]

  • $[yyyymmddhh24miss±N/24/60]

  • $[mi±N/24/60]

  • $[Format waktu kustom±N/24/60]

    Sebagai contoh, Anda dapat menggunakan parameter waktu kustom berikut untuk menentukan waktu yang 15 menit lebih awal dari waktu penjadwalan suatu tugas:

    • $[yyyy-15/24/60]

    • $[yyyymm-15/24/60]

    • $[yyyymmdd-15/24/60]

    • $[hh24-15/24/60]

    • $[mi-15/24/60]

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?

Catatan

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 yyyymmdd. Nilai dari parameter ini sama dengan nilai dari parameter waktu kustom ${yyyymmdd}.

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 yyyymmddhh24miss. Nilai dari parameter ini sama dengan nilai dari parameter waktu kustom $[yyyymmddhh24miss].

$gmtdate

Tanggal saat ini. Nilai dari parameter ini dalam format yyyymmdd.

Secara default, nilai dari parameter ini adalah tanggal saat ini. Ketika Anda mengisi ulang data untuk suatu tugas, atur parameter ini ke waktu yang satu hari lebih lambat dari cap waktu data dari tugas.

$bizmonth

Bulan yang ditentukan oleh cap waktu data dari tugas. Nilai dari parameter ini dalam format yyyymm.

  • Jika bulan yang ditentukan oleh cap waktu data dari tugas adalah bulan saat ini, nilai dari parameter ini adalah satu bulan lebih awal dari bulan yang ditentukan oleh cap waktu data dari tugas.

  • Jika bulan yang ditentukan oleh cap waktu data dari tugas bukan bulan saat ini, nilai dari parameter ini adalah bulan yang ditentukan oleh cap waktu data dari tugas.

$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 00:00 hingga 23:59:

  • Instance pertama pada 00:00: hh24 atau hh diganti dengan 00.

  • Instance kedua pada 01:00: hh24 atau hh diganti dengan 01.

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.