全部产品
Search
文档中心

DataWorks:Parameter Penjadwalan

更新时间:Jul 02, 2025

Topik ini menjawab beberapa pertanyaan umum terkait parameter penjadwalan.

Saya menjalankan sebuah instance dari node pada pukul 00:00 hari 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 ini yang dianalisis. Apa yang harus saya lakukan?

  • Deskripsi Masalah

    Format partisi tabel adalah day=yyyymmdd,hour=hh24. Variabel $[yyyymmdd] $[hh24-1/24] digunakan untuk menentukan tanggal dan waktu partisi. Jika saya menjalankan instance pada pukul 00:00, variabel kustom datetime=$[yyyymmdd] menentukan hari saat ini, bukan hari sebelumnya. Akibatnya, sistem menganalisis data partisi yang sesuai dengan pukul 23:00 hari ini.

  • Solusi

    Ubah nilai datetime menjadi $[yyyymmdd-1/24] dan pertahankan nilai $[hh24-1/24] untuk hour.

    Konfigurasi

    • Dalam kode: day=datetime, hour={hour},

    • Parameter penjadwalan yang dikonfigurasi untuk node: datetime=[yyyymmdd-1/24],hour=[hh24-1/24]

    Skenario

    • Untuk instance yang dijadwalkan berjalan pada 2021-07-21 00:00:00, nilai dari $[yyyymmdd-1/24] adalah 20210720, dan nilai dari $[hh24-1/24] adalah 23. Hal ini karena 1 jam sebelum 2021-07-21 00:00:00 adalah titik waktu pada hari sebelumnya.

    • Untuk instance yang dijadwalkan berjalan pada 2021-07-21 01:00:00, nilai dari $[yyyymmdd-1/24] adalah 20210721, dan nilai dari $[hh24-1/24] adalah 00. Hal ini karena 1 jam sebelum 2021-07-21 01:00:00 masih merupakan titik waktu pada hari saat ini.

Bagaimana cara menentukan partisi tabel dalam format yang mengandung spasi, seperti pt=yyyy-mm-dd hh24:mi:ss?

Penting

Spasi tidak diperbolehkan dalam parameter penjadwalan.

Gunakan variabel kustom berikut untuk mendapatkan tanggal dan waktu:

  • Mendapatkan Tanggal: Gunakan variabel kustom datetime=$[yyyy-mm-dd].

  • Mendapatkan Waktu: Gunakan variabel kustom hour=$[hh24:mi:ss].

Kemudian, gabungkan variabel dengan spasi untuk membentuk pt=${datetime} ${hour}. Properties tab

Sebuah node dijadwalkan berjalan pada waktu yang ditentukan oleh variabel $cyctime atau $[yyyymmddhh24miss]. Node tersebut dijadwalkan berjalan pada pukul 20:00 setiap hari, tetapi node leluhur dari node tersebut gagal berjalan sesuai jadwal. Akibatnya, node tersebut tertunda dan berjalan pada pukul 00:00 keesokan harinya. Dalam kasus ini, apakah nilai dari variabel $cyctime atau $[yyyymmddhh24miss] adalah 20:00 atau 00:00?

Waktu penjadwalan sebuah instance adalah waktu ketika instance tersebut dijadwalkan berjalan. Jika sumber daya tidak mencukupi, waktu ketika sebuah instance benar-benar berjalan mungkin berbeda dari waktu ketika instance tersebut dijadwalkan berjalan. Waktu penjadwalan sebuah instance tetap pada saat instance tersebut dibuat dan tidak berubah meskipun waktu ketika instance tersebut berjalan berubah.

Nilai dari parameter penjadwalan ditentukan berdasarkan waktu penjadwalan instance dan diganti ketika instance tersebut dibuat.

Bagaimana cara mengonfigurasi properti waktu dari node ODPS Spark?

Ketika Anda membuat node ODPS Spark, Anda harus mengonfigurasi variabel untuk node tersebut di tab konfigurasi node.

Setelah Anda mengonfigurasi variabel, klik tab Properties di panel navigasi kanan tab konfigurasi node. Di tab Properties, tetapkan parameter penjadwalan ke variabel sebagai nilai. Sistem menjalankan parameter penjadwalan dan parameter node secara berurutan. Untuk informasi lebih lanjut tentang format penugasan nilai parameter penjadwalan, lihat Format yang Didukung dari Parameter Penjadwalan. Configure an ODPS Spark node

Bagaimana cara memproses ulang nilai balik dari parameter penjadwalan untuk sebuah node jika node tersebut tidak dapat memproses nilai balik?

Setelah Anda mengonfigurasi parameter penjadwalan untuk beberapa node, seperti node sinkronisasi batch, node tersebut tidak dapat memproses nilai balik dari parameter penjadwalan kecuali Anda memproses ulang nilai balik tersebut. Anda dapat mengonfigurasi node penugasan sebagai node leluhur dari node-node ini. Dengan cara ini, Anda dapat menggunakan node penugasan untuk merujuk parameter penjadwalan dan memproses ulang nilai balik parameter penjadwalan. Kemudian, Anda dapat menggunakan parameter berbasis konteks untuk meneruskan nilai yang telah diproses ulang ke node turunan yang diperlukan.

Apa perbedaan antara nilai balik dari fungsi tanggal MaxCompute dan parameter penjadwalan?

  • Jika Anda menggunakan fungsi tanggal MaxCompute, nilai balik adalah waktu sistem ketika instance berjalan. Jika instance berjalan pada titik waktu yang berbeda, nilai baliknya berbeda.

  • Jika Anda menggunakan parameter penjadwalan, hasil balik adalah hasil perhitungan dari waktu penjadwalan. Jika instance berjalan pada titik waktu yang berbeda, nilai balik tetap sama.

Bagaimana cara menguji konfigurasi parameter penjadwalan di halaman DataStudio?

Nilai dari parameter penjadwalan secara otomatis diganti dalam sistem penjadwalan hanya setelah Anda menerapkan parameter penjadwalan di lingkungan produksi. Jika Anda ingin memeriksa apakah nilai parameter penjadwalan valid di halaman DataStudio, klik ikon Perform Smoke Testing in Development Environment di bilah alat atas tab konfigurasi node.

Catatan

Untuk node sinkronisasi data dari Data Integration, Anda tidak dapat memeriksa apakah nilai parameter penjadwalan valid di lingkungan pengembangan. Jika Anda ingin melakukan pengujian semacam itu, Anda harus membuat node SQL dan kemudian menguji konfigurasi parameter penjadwalan dengan mengklik ikon Perform Smoke Testing in Development Environment. Jika parameter penjadwalan lolos uji, Anda dapat menggunakan konfigurasi parameter tersebut di node sinkronisasi data.

Apa yang harus saya lakukan jika pesan kesalahan FAILED: ODPS-0130161:[1,84] Parse exception - invalid token '$' dilaporkan untuk node sinkronisasi real-time?

Penyebab: Tidak ada nilai yang ditetapkan untuk parameter penjadwalan, atau nilai yang ditetapkan untuk parameter penjadwalan tidak valid.

Solusi:

  1. Periksa apakah nilai ditetapkan untuk parameter penjadwalan.

  2. Periksa apakah nilai yang ditetapkan untuk parameter penjadwalan valid. Untuk informasi lebih lanjut, lihat Format yang Didukung dari Parameter Penjadwalan.

Penting

Setelah Anda memodifikasi parameter penjadwalan dari sebuah node, Anda harus melakukan commit dan deploy node tersebut. Setelah node diterapkan, pergi ke halaman Cycle Task di Operation Center dan periksa apakah nilai parameter penjadwalan diperbarui di tab General dari node.

Invalid parameter configuration

Apa yang harus saya lakukan jika error params format error, please check your params(key=values) dilaporkan?

Solusi:

  1. Periksa apakah nilai ditetapkan untuk variabel.

  2. Periksa apakah spasi digunakan dalam parameter penjadwalan.

  3. Periksa apakah nama node mengandung tanda titik (.) dan karakter Cina pada saat yang bersamaan.

Contoh: time①=②$[yyyymmdd③hh24:mi:ss]time1=$[yyyymmdd]④time2=$[hh24:mi:ss]. Simbol 1, 2, 3, dan 4 mewakili posisi di mana spasi mungkin ditambahkan.

  • Jangan tambahkan spasi sebelum atau sesudah tanda sama dengan (=) dalam parameter penjadwalan. Dalam contoh ini, jangan tambahkan spasi di posisi yang ditentukan oleh Simbol 1 dan 2.

  • Jangan menyertakan spasi dalam nilai parameter penjadwalan. Dalam contoh ini, jangan tambahkan spasi di posisi yang ditentukan oleh Simbol 3.

  • Pisahkan dua parameter penjadwalan dengan spasi. Dalam hal ini, tambahkan spasi di posisi yang ditentukan oleh Simbol 4.

Apa perbedaan dalam logika penugasan nilai parameter penjadwalan di antara mode Run, Run with Parameters, dan Perform Smoke Testing in Development Environment?

Mode

Deskripsi

Run

Pertama kali Anda mengklik ikon Run, Anda harus secara manual menetapkan konstanta ke variabel dalam kode. Konstanta dicatat oleh DataWorks. Jika Anda memodifikasi kode, variabel masih menggunakan konstanta yang Anda tetapkan.

Run with Parameters

Jika Anda menggunakan mode Run with Parameters, Anda harus secara manual menetapkan konstanta ke variabel dalam kode. Jika Anda memodifikasi variabel dalam kode, Anda harus menggunakan mode Run with Parameters untuk menetapkan ulang konstanta ke variabel.

Catatan

Jika Anda ingin mengubah grup sumber daya yang digunakan oleh sebuah node, klik ikon Run with Parameters.

Perform Smoke Testing in Development Environment

Anda dapat memasukkan cap waktu data untuk mensimulasikan penjadwalan node otomatis dan mendapatkan nilai penggantian parameter penjadwalan pada cap waktu data yang ditentukan.

Bagaimana cara memeriksa validitas nilai parameter penjadwalan di lingkungan produksi?

Setelah Anda memodifikasi parameter penjadwalan dari sebuah node di halaman DataStudio dan melakukan commit serta deploy node tersebut, Anda dapat memeriksa apakah nilai parameter penjadwalan memenuhi persyaratan bisnis Anda di tab General halaman Cycle Task di Operation Center di lingkungan produksi. Jika nilai tersebut tidak memenuhi persyaratan bisnis Anda, periksa apakah paket deployment node tersebut dibuat sesuai harapan di halaman deployment. Anda juga dapat memeriksa apakah nilai parameter penjadwalan dari instance yang dipicu otomatis memenuhi persyaratan bisnis Anda di tab General halaman Cycle Instance di Operation Center.

Penting

Ketika Anda memodifikasi parameter penjadwalan dari node yang dipicu otomatis, konfigurasi parameter penjadwalan dari instance yang dihasilkan untuk node tersebut diperbarui secara real-time. Pembaruan real-time dilakukan tanpa memperhatikan apakah instance tersebut dijalankan.

Cycle Task

Skenario:

  • Sebagai contoh, Anda menetapkan $bizdate ke parameter penjadwalan time1 dari Instance A1 dari Node A. Jika Instance A1 berhasil dijalankan pada hari saat ini, parameter penjadwalan time1 disetel ke cap waktu data yang ditentukan oleh bizdate dalam kode.

  • Jika Anda mengubah nilai parameter penjadwalan time1 dari $bizdate menjadi $cyctime pada suatu titik waktu pada hari saat ini, Instance A1 dijalankan pada waktu penjadwalan yang ditentukan oleh cyctime pada hari saat ini.

  • Jika Anda menjalankan ulang Instance A1, konfigurasi terbaru dari time1 digunakan. Dalam contoh ini, time1=$cyctime digunakan.

  • Anda dapat melihat nilai parameter penjadwalan dari instance sebelum nilai berubah dalam log yang dihasilkan untuk instance tersebut. Untuk informasi lebih lanjut tentang cara memeriksa apakah nilai parameter penjadwalan dari sebuah instance valid dengan melihat log, lihat Bagaimana cara memeriksa apakah nilai parameter penjadwalan dari sebuah instance valid dengan melihat log?.

Bagaimana cara memeriksa apakah nilai parameter penjadwalan dari sebuah instance valid dengan melihat log?

Temukan SKYNET_PARAVALUE dalam kode. Check whether the values of scheduling parameters of an instance are valid by viewing logs

Bagaimana instance dibuat pada hari ketika daylight saving time dimulai dan berakhir?

DataWorks mendukung fitur pembuatan instance langsung dan komputasi parameter berbasis daylight saving time. Dengan cara ini, node dapat berjalan sesuai harapan ketika daylight saving time dimulai atau berakhir. Sebagai contoh, zona waktu adalah UTC-8.

  • Ketika daylight saving time dimulai, 10 menit sebelum pukul 03:00 adalah 01:50, dan 23 instance dibuat pada hari itu. Sistem tidak menjalankan instance yang dijadwalkan berjalan pada pukul 02:00 pada hari itu.

  • Ketika daylight saving time berakhir, 10 menit sebelum pukul 03:00 adalah 02:50, dan 24 instance dibuat pada hari itu.

Jika node yang dijadwalkan berdasarkan hari, minggu, atau bulan dijadwalkan berjalan dalam periode yang dilewati ketika daylight saving time dimulai, sebuah instance dibuat dan dijalankan pada pukul 00:00 pada hari itu.

Saya mengonfigurasi parameter penjadwalan untuk sebuah node dan melakukan commit dan deploy node tersebut, tetapi nilai balik dari parameter penjadwalan tetap tidak berubah. Apa yang harus saya lakukan?

Periksa apakah parameter penjadwalan ditimpa oleh parameter alur kerja dengan nama yang sama. Untuk informasi lebih lanjut, lihat Gunakan Parameter Alur Kerja.

Jika parameter alur kerja dengan nama yang sama ada, Anda dapat menghapus parameter alur kerja berdasarkan persyaratan bisnis Anda. Jika Anda ingin mempertahankan parameter alur kerja, Anda harus mengubah nama parameter penjadwalan untuk node tersebut.