Dalam pemrosesan data, Anda sering perlu menghasilkan partisi atau nama file secara dinamis berdasarkan waktu proses suatu tugas. Untuk itu, Anda dapat menggunakan parameter sistem untuk menyisipkan nilai waktu dinamis, seperti ${...} berbasis tanggal bisnis dan $[...] berbasis waktu penjadwalan. Topik ini membandingkan perbedaan inti antara kedua format parameter tersebut, dengan fokus pada presisi, perhitungan offset, dan kasus penggunaan.
Untuk informasi lebih lanjut tentang definisi waktu dasar dan cara mengubah parameter kustom, lihat Format yang didukung untuk parameter penjadwalan.
Perbandingan format parameter kustom
Asumsikan waktu saat ini adalah 01 November 2025, dan suatu tugas dijadwalkan berjalan setiap hari pukul 00:00. Tabel berikut menunjukkan bagaimana nilai diberikan pada parameter kustom yang berbeda.
Asumsikan parameter dirujuk dalam kode sebagai pt=${datetime}.
Format parameter | Deskripsi | Penugasan parameter penjadwalan | Hasil penggantian parameter |
| Mendapatkan waktu bisnis. |
|
|
| Mendapatkan waktu penjadwalan, akurat hingga detik. |
|
|
| Mendapatkan waktu bisnis. |
|
|
| Mendapatkan waktu penjadwalan, akurat hingga detik. |
|
|
| Mendapatkan waktu saat ini, akurat hingga hari. |
|
|
| Mendapatkan bulan bisnis. Logikanya sebagai berikut:
|
| Sebagai contoh, jika waktu saat ini adalah
|
Perbedaan inti antara parameter ${…} dan $[…]
Tabel berikut membandingkan perbedaan inti antara parameter ${…} dan $[…].
Perbandingan |
|
|
Garis dasar waktu | Tanggal bisnis (T-1) | Waktu penjadwalan (T) |
Presisi waktu | Hari (tahun, bulan, hari) | Detik (tahun, bulan, hari, jam, menit, detik) |
Kemampuan perhitungan offset | Mendukung offset untuk tahun, bulan, minggu, dan hari. | Mendukung offset untuk hari, jam, dan menit. |
Batasan utama | Tidak mendukung pemformatan atau perhitungan offset untuk satuan yang lebih kecil seperti jam, menit, atau detik. | Tidak mendukung offset tahun atau bulan langsung menggunakan sintaks seperti |
Ekuivalensi default |
|
|
Untuk informasi lebih lanjut tentang cara menggunakan parameter
${…}dan$[…], lihat Format yang didukung untuk parameter penjadwalan.Untuk informasi lebih lanjut tentang cara mengonfigurasi dan menggunakan parameter kustom, lihat Mengonfigurasi dan menggunakan parameter penjadwalan.
Topik ini menggunakan node ODPS SQL sebagai contoh. Asumsikan waktu penjadwalan tugas tersebut adalah 10:30:00 pada 20 Juli 2025. Tabel berikut menunjukkan konfigurasi nilai waktu untuk parameter ${…} dan $[…].
Nilai waktu | Parameter ${…} | Parameter $[…] |
Mendapatkan tahun: 2025 |
|
|
Mendapatkan tahun: 25 |
|
|
Mendapatkan tahun: 2024 |
|
|
Mendapatkan bulan: 07 |
|
|
Mendapatkan hari dalam bulan: 20 |
|
|
Mendapatkan tanggal: 20 Juni 2025 |
Penting Metode ini tidak direkomendasikan karena Anda harus mempertimbangkan jumlah hari dalam bulan tersebut. Gunakan format |
|
Mendapatkan tanggal: 19 Juli 2025 |
|
|
Mendapatkan tanggal: 20 Juli 2024 |
Penting Metode ini tidak direkomendasikan karena Anda harus mempertimbangkan tahun kabisat. Gunakan format |
|
Mendapatkan waktu: 10:30:00 | Tidak didukung |
|
Mendapatkan waktu: 2025-07-20 10:30:00 | Tidak didukung |
|
Mendapatkan waktu: 2025-07-20 10:29:00 | Tidak didukung |
|
Mendapatkan waktu: 2025-07-20 09:30:00 | Tidak didukung |
|
Mendapatkan waktu hari sebelumnya, akurat hingga detik, tanpa spasi antara tanggal dan waktu: 2025071910:30:00 | Tidak didukung |
|
Mendapatkan waktu hari sebelumnya, akurat hingga detik, dengan spasi antara tanggal dan waktu: 20250719 10:30:00 | Tidak didukung | Penting Ekspresi penugasan parameter penjadwalan tidak mendukung spasi. Untuk menyertakan spasi, Anda dapat menentukan dua parameter penjadwalan lalu menggabungkannya dengan spasi dalam referensi kode Anda.
|