全部产品
Search
文档中心

DataWorks:Konfigurasi penjadwalan node

更新时间:Dec 31, 2025

Node dan alur kerja dalam direktori proyek sering kali memerlukan penjadwalan berulang. Anda dapat mengonfigurasi properti penjadwalan—seperti periode penjadwalan, dependensi, dan parameter—pada panel konfigurasi penjadwalan untuk suatu node atau alur kerja. Topik ini menjelaskan cara mengonfigurasi properti penjadwalan tersebut.

Prasyarat

  • Sebuah node harus telah dibuat. Di DataWorks, tugas dikembangkan berdasarkan node. Tugas untuk berbagai jenis engine dikemas sebagai tipe node yang berbeda. Anda dapat memilih tipe node sesuai kebutuhan. Untuk informasi selengkapnya, lihat Pengembangan node.

  • Sakelar penjadwalan periodik harus diaktifkan. Tugas dalam ruang kerja DataWorks hanya akan dijadwalkan secara otomatis berdasarkan konfigurasinya jika sakelar Enable Periodic Scheduling diaktifkan. Anda dapat mengaktifkan sakelar ini pada halaman Scheduling Settings untuk ruang kerja tersebut. Untuk informasi selengkapnya, lihat System Settings.

Perhatian

  • Konfigurasi penjadwalan suatu tugas hanya menentukan propertinya saat runtime. Tugas tersebut hanya akan dijadwalkan berdasarkan konfigurasi ini setelah dipublikasikan ke lingkungan produksi.

  • Waktu penjadwalan hanya menentukan waktu eksekusi yang diharapkan dari suatu tugas. Waktu eksekusi aktual bergantung pada status eksekusi node leluhur. Untuk informasi selengkapnya tentang kondisi eksekusi tugas, lihat Diagnosa tugas yang sedang berjalan.

  • DataWorks memungkinkan Anda membuat dependensi antara berbagai jenis tugas. Sebelum melanjutkan, kami sarankan Anda membaca dokumen Prinsip dan contoh konfigurasi penjadwalan untuk dependensi kompleks untuk memahami dependensi prasetel di DataWorks dalam skenario ini.

  • Di DataWorks, sebuah instans berulang dibuat untuk node penjadwalan berdasarkan tipe dan periode penjadwalan yang Anda tentukan. Misalnya, jika Anda mengonfigurasi node untuk berjalan setiap jam, sejumlah instans harian yang sesuai akan dihasilkan untuk node tersebut setiap hari. Node tersebut berjalan secara otomatis menggunakan instans berulang ini. Untuk informasi selengkapnya, lihat Lihat instans berulang.

  • Jika Anda menggunakan parameter penjadwalan, parameter permintaan dalam kode untuk setiap siklus node penjadwalan DataWorks ditentukan oleh waktu terjadwal siklus tersebut dan ekspresi parameter penjadwalan yang Anda tentukan. Untuk informasi selengkapnya tentang hubungan antara parameter permintaan dengan konfigurasi dan penggantian parameter penjadwalan, lihat Sumber dan ekspresi parameter penjadwalan.

  • Sebuah alur kerja mencakup node alur kerja dan node internal. Dependensinya kompleks. Topik ini hanya menjelaskan dependensi dan penjadwalan untuk node individual. Untuk informasi selengkapnya tentang dependensi penjadwalan alur kerja, lihat Alur kerja berulang.

Buka halaman konfigurasi penjadwalan

  1. Buka halaman Workspaces di konsol DataWorks. Pada bilah navigasi atas, pilih wilayah yang diinginkan. Temukan ruang kerja yang diinginkan dan pilih Shortcuts > Data Studio di kolom Actions.

  2. Buka halaman konfigurasi penjadwalan.

    1. Pada halaman DataStudio, temukan node dan buka tab konfigurasinya.

    2. Pada bilah navigasi sebelah kanan tab konfigurasi node, klik Scheduling Configuration untuk membuka halaman konfigurasi penjadwalan node.

Konfigurasikan properti penjadwalan untuk node

Pada halaman konfigurasi penjadwalan node, Anda harus mengonfigurasi Scheduling Parameters, Scheduling Policy, Scheduling Time, Scheduling Dependencies, dan Node Output Parameters untuk node tersebut.

(Opsional) Parameter penjadwalan

Jika Anda mendefinisikan variabel dalam kode saat mengedit node, Anda harus memberikan nilai untuk variabel tersebut di bagian ini.

Parameter penjadwalan secara otomatis diganti dengan nilai tertentu berdasarkan waktu bisnis tugas terjadwal dan format nilai parameter penjadwalan. Hal ini memungkinkan penggantian dinamis parameter dalam rentang waktu penjadwalan tugas.

Konfigurasikan parameter penjadwalan

Anda dapat mendefinisikan parameter penjadwalan dengan salah satu cara berikut.

Metode

Deskripsi

Diagram konfigurasi

Tambahkan parameter

Anda dapat mengonfigurasi beberapa parameter penjadwalan untuk node penjadwalan. Jika ingin menggunakan beberapa parameter penjadwalan, Anda dapat mengklik Add Parameter.

  • Anda dapat secara manual memberikan nilai untuk parameter penjadwalan. Untuk informasi selengkapnya, lihat Sumber dan ekspresi parameter penjadwalan.

  • Anda juga dapat mengklik image di kolom Actions parameter untuk mengaitkan parameter yang didefinisikan untuk node saat ini dengan parameter output dari node leluhur.

image

Muat parameter dari kode

Metode ini digunakan untuk mendeteksi secara otomatis nama variabel yang didefinisikan dalam kode node saat ini dan menambahkan nama variabel yang terdeteksi sebagai parameter penjadwalan untuk penggunaan selanjutnya.

Catatan

Secara umum, nama variabel didefinisikan dalam format ${Custom variable name} dalam kode.

Metode pendefinisian nama variabel untuk node PyODPS dan Shell umum berbeda dengan tipe node lainnya. Untuk informasi selengkapnya tentang format parameter penjadwalan untuk berbagai tipe node, lihat Contoh konfigurasi parameter penjadwalan untuk berbagai tipe node.

image

Format parameter penjadwalan yang didukung

Untuk informasi selengkapnya, lihat Sumber dan ekspresi parameter penjadwalan.

Periksa konfigurasi parameter penjadwalan tugas di lingkungan produksi

Untuk mencegah masalah akibat parameter penjadwalan yang tidak terduga saat tugas berulang dijalankan, kami sarankan Anda membuka halaman Auto Triggered Task di Operation Center untuk memeriksa konfigurasi parameter penjadwalan tugas berulang di lingkungan produksi setelah tugas dipublikasikan. Untuk informasi selengkapnya tentang cara melihat tugas berulang, lihat Kelola tugas yang dipicu otomatis.

Kebijakan penjadwalan

Kebijakan penjadwalan menentukan mode pembuatan instans, tipe penjadwalan, sumber daya komputasi, dan kelompok sumber daya untuk tugas berulang.

Parameter

Deskripsi

Mode pembuatan instans

Setelah node dikirim dan dipublikasikan ke sistem pemetaan CDN di lingkungan produksi, platform akan menghasilkan Recurring Instances untuk penjadwalan otomatis berdasarkan Instance Generation Mode yang dikonfigurasi untuk node tersebut.

  • Generate On The Next Day (T+1): Node dijadwalkan secara otomatis pada hari setelah dipublikasikan ke lingkungan produksi. Anda dapat membuka halaman Recurring Instance untuk melihat status eksekusi tugas. Untuk menjalankan tugas pada hari yang sama, Anda dapat melakukan operasi pengisian ulang data untuk tugas tersebut. Status eksekusi instans berulang yang Anda lakukan pengisian ulang datanya dengan waktu bisnis diatur ke Yesterday sama dengan status dengan waktu bisnis diatur ke Today.

  • Generate Immediately After Publishing: Node dijadwalkan secara otomatis pada hari ketika dipublikasikan ke lingkungan produksi. Anda dapat membuka halaman Recurring Instance untuk melihat status eksekusi tugas. Saat membuat tugas dan memilih mode ini, apakah tugas benar-benar memproses data atau hanya melakukan dry-run pada hari yang sama bergantung pada waktu terjadwal dan waktu publikasi tugas. Saat Anda mengubah periode penjadwalan tugas produksi yang telah dipublikasikan, DataWorks akan mengganti instans yang dihasilkan untuk periode waktu mendatang berdasarkan konfigurasi penjadwalan terbaru, tetapi tidak akan menghapus instans yang telah kedaluwarsa.

Tipe penjadwalan

  • Normal

    • Skenario: Tugas berulang yang berjalan dalam status Normal, dan instans berulang yang dihasilkan juga berjalan dalam status Normal.

    • Dampak: Tugas dijadwalkan berjalan pada waktu yang ditentukan dalam konfigurasi periode penjadwalan dan berjalan secara normal (yaitu, benar-benar memproses data).

      Setelah node saat ini berhasil berjalan, node turunannya juga dipicu untuk berjalan secara normal. Secara default, opsi ini dipilih sebagai tipe penjadwalan untuk tugas.

  • Skip Execution

    • Skenario: Tugas berulang berada dalam status beku, dan instans berulang yang dihasilkan juga dalam status beku. Node saat ini tidak dapat dijalankan dan menghambat eksekusi node turunannya.

      Jika proses bisnis tidak perlu dijalankan untuk periode waktu tertentu, Anda dapat memilih tipe penjadwalan ini untuk membekukan node akar proses bisnis tersebut. Saat proses bisnis perlu dijalankan kembali, Anda dapat membuka pembekuan node akar tersebut. Untuk informasi selengkapnya tentang cara membuka pembekuan tugas, lihat Bekukan dan buka pembekuan tugas.

    • Dampak: Tugas dijadwalkan berjalan pada waktu yang ditentukan dalam konfigurasi periode penjadwalan, tetapi status node diatur ke jeda (yaitu, tidak benar-benar memproses data).

      Saat tugas dijadwalkan, sistem langsung mengembalikan kegagalan dan menghambat eksekusi node turunan yang bergantung pada node saat ini.

  • Dry-run

    • Skenario: Jika node tidak perlu dijalankan untuk periode waktu tertentu dan tidak menghambat eksekusi node turunannya, Anda dapat memilih tipe penjadwalan ini.

    • Dampak: Tugas dijadwalkan berjalan pada waktu yang ditentukan dalam konfigurasi periode penjadwalan, tetapi node berada dalam status dry-run (yaitu, tidak benar-benar memproses data).

      Saat tugas dijadwalkan, sistem langsung mengembalikan keberhasilan (waktu eksekusi 0 detik), tidak benar-benar menjalankan tugas (log eksekusi kosong), tidak menghambat eksekusi node turunan yang bergantung pada node saat ini (yaitu, node turunan berjalan secara normal), dan tidak menggunakan sumber daya.

Periode timeout

Jika Anda menetapkan periode timeout, tugas akan berhenti secara otomatis jika waktu eksekusinya melebihi periode timeout yang ditentukan. Petunjuk konfigurasi sebagai berikut:

  • Periode timeout berlaku untuk instans berulang, instans pengisian ulang data, dan instans uji coba.

  • Periode timeout default berkisar antara 3 hingga 7 hari. Sistem secara dinamis menyesuaikan periode timeout default untuk tugas berdasarkan muatan aktual, yaitu antara 3 hingga 7 hari.

  • Saat Anda menetapkan periode timeout secara manual, nilai maksimum yang dapat diatur adalah 168 jam (7 hari).

Properti rerun

Konfigurasikan node agar dapat dijalankan ulang dalam situasi tertentu.

Properti rerun tidak boleh kosong. Jenis yang didukung dan skenario penerapannya sebagai berikut:

  • The Node Can Be Rerun Regardless Of Whether It Succeeds Or Fails: Jika beberapa kali rerun node tidak memengaruhi hasilnya, Anda dapat memilih tipe rerun ini.

  • The Node Cannot Be Rerun If It Succeeds But Can Be Rerun If It Fails: Jika node berhasil dijalankan sekali dan rerun memengaruhi hasilnya, tetapi rerun setelah kegagalan tidak memengaruhi hasilnya, Anda dapat memilih tipe rerun ini.

  • The Node Cannot Be Rerun Regardless Of Whether It Succeeds Or Fails: Jika rerun node memengaruhi hasilnya terlepas dari keberhasilan atau kegagalannya (misalnya, beberapa node sinkronisasi), Anda dapat memilih tipe rerun ini.

    Catatan
    • Jika Anda memilih tipe ini, sistem tidak akan secara otomatis menjalankan ulang node yang bersangkutan setelah pemulihan kesalahan.

    • Anda tidak dapat mengonfigurasi Automatic Rerun Upon Failure.

Rerun otomatis saat gagal

Jika Anda mengaktifkan fitur ini, ketika tugas gagal dijalankan (tidak termasuk kasus di mana pengguna secara aktif menghentikan tugas), sistem pemetaan CDN akan secara otomatis memicu rerun berdasarkan jumlah percobaan ulang dan interval percobaan ulang.

  • Number Of Retries: Jumlah default percobaan ulang otomatis saat tugas berulang gagal dijalankan.

    Jumlah minimum percobaan ulang adalah 1 (tugas dijalankan ulang satu kali setelah terjadi kesalahan), dan maksimum adalah 10 (tugas dijalankan ulang 10 kali setelah terjadi kesalahan). Anda dapat mengubah nilai ini sesuai kebutuhan bisnis.

  • Retry Interval: Interval default untuk setiap percobaan ulang adalah 30 menit. Interval minimum adalah 1 menit, dan maksimum adalah 30 menit.

Catatan
  • Anda dapat membuka halaman Scheduling Configuration untuk menetapkan jumlah percobaan ulang dan interval percobaan ulang default untuk ruang kerja. Untuk informasi selengkapnya, lihat System Settings.

  • Jika node gagal karena waktu eksekusinya melebihi periode timeout, konfigurasi rerun otomatis tidak akan berlaku.

Sumber daya komputasi

Konfigurasikan sumber daya Mesin DPI yang diperlukan agar tugas dapat berjalan. Untuk membuat sumber daya baru, Anda dapat melakukannya melalui manajemen sumber daya komputasi.

Kuota komputasi

Anda dapat mengonfigurasi kuota komputasi yang diperlukan agar tugas dapat berjalan di node MaxCompute SQL atau node MaxCompute Script untuk menyediakan sumber daya komputasi (CPU dan memori) bagi pekerjaan komputasi.

Kelompok sumber daya penjadwalan

Konfigurasikan kelompok sumber daya penjadwalan yang digunakan agar tugas dapat berjalan. Pilih sesuai kebutuhan.

  • Untuk mengubah kelompok sumber daya default yang dikonfigurasi untuk tugas baru, Anda dapat membuka halaman System Settings. Untuk informasi selengkapnya, lihat System Settings.

  • Untuk mengubah kelompok sumber daya untuk tugas yang sudah ada, lihat Referensi umum: Ganti kelompok sumber daya.

Set data

Klik image untuk menambahkan set data yang telah dibuat ke node. Hanya node Shell, Python, dan node Develop with Notebooks yang mendukung penambahan set data selama pengembangan.

  • Set data: Pilih set data dari daftar drop-down semua set data yang dibuat di ruang kerja saat ini.

    • Saat Anda memilih set data bertipe Object Storage Service (OSS), Anda perlu memberikan izin agar kelompok sumber daya dapat mengakses bucket untuk pertama kalinya. Satu bucket hanya perlu diotorisasi sekali.

    • Saat Anda memilih set data bertipe penyimpanan file (NAS), jika jaringan kelompok sumber daya DataWorks saat ini tidak terhubung ke titik pemasangan NAS, Anda perlu menyesuaikan jaringan VPC untuk memastikan kelompok sumber daya terhubung ke titik pemasangan NAS.

      Catatan

      Saat VPC yang terikat pada kelompok sumber daya DataWorks sama dengan VPC yang terikat pada titik pemasangan NAS, jaringan dapat terhubung secara normal.

  • Jalur pemasangan: Jalur pemasangan default yang dikonfigurasi untuk set data akan dibaca secara otomatis. Anda dapat mengubahnya secara manual.

  • Konfigurasi Lanjutan: Saat mengembangkan node untuk membaca set data OSS atau NAS, Anda dapat menyesuaikan konfigurasi metode baca dan protokol pemasangan set data dengan mengonfigurasi set data yang berbeda.

  • Read-only: Jika Anda mengaktifkan akses read-only, tugas pengembangan data hanya diizinkan membaca data selama runtime dan tidak dapat menulis data ke OSS atau NAS.

Waktu penjadwalan

Waktu penjadwalan digunakan untuk mengonfigurasi periode, waktu, dan informasi lainnya untuk eksekusi otomatis node penjadwalan.

Catatan

Jika node berada dalam alur kerja, parameter terkait Scheduling Time diatur di Scheduling Configuration pada halaman alur kerja. Jika node tidak berada dalam alur kerja, Scheduling Time diatur di Scheduling Configuration untuk setiap node.

Perhatian

  • Frekuensi penjadwalan tugas bersifat independen terhadap periode penjadwalan tugas leluhurnya

    Frekuensi penjadwalan tugas bergantung pada periode penjadwalannya sendiri, bukan periode penjadwalan tugas leluhurnya.

  • DataWorks mendukung dependensi antara tugas dengan periode penjadwalan berbeda

    Di DataWorks, sebuah instans berulang dibuat untuk node penjadwalan berdasarkan tipe dan periode penjadwalan yang Anda tentukan. Misalnya, jika Anda mengonfigurasi node untuk berjalan setiap jam, sejumlah instans harian yang sesuai akan dihasilkan untuk node tersebut setiap hari. Node tersebut berjalan menggunakan instans ini. Dependensi yang diatur untuk tugas berulang pada dasarnya adalah dependensi antara instans yang dihasilkan oleh tugas. Jika tipe penjadwalan node leluhur dan turunan berbeda, jumlah instans berulang yang dihasilkan dan dependensinya juga akan berbeda. Untuk informasi selengkapnya tentang dependensi antara node leluhur dan turunan dengan periode penjadwalan berbeda, lihat Pilih tipe dependensi (dependensi lintas siklus).

  • Tugas yang tidak dijadwalkan setiap hari melakukan dry-run

    Di DataWorks, tugas yang tidak dijadwalkan setiap hari, seperti tugas mingguan atau bulanan, melakukan dry-run di luar waktu terjadwalnya. Saat waktu terjadwal tugas tiba, tugas tersebut langsung mengembalikan status berhasil. Jika terdapat tugas penjadwalan harian di downstream, tugas tersebut memicu eksekusi tugas downstream. Dalam kasus ini, node leluhur melakukan dry-run, dan node penjadwalan turunan dieksekusi sesuai jadwal.

  • Deskripsi waktu eksekusi tugas

    Pengaturan ini hanya menentukan waktu penjadwalan yang diharapkan untuk tugas. Waktu eksekusi aktual tugas dipengaruhi oleh berbagai faktor, seperti waktu terjadwal node leluhur, ketersediaan sumber daya eksekusi tugas, dan kondisi eksekusi aktual tugas. Untuk informasi selengkapnya, lihat Kondisi eksekusi tugas.

Konfigurasikan waktu penjadwalan

Parameter

Deskripsi

Periode penjadwalan

Periode penjadwalan adalah periode tugas dijalankan secara otomatis dalam skenario penjadwalan. Ini digunakan untuk menentukan seberapa sering logika kode dalam node benar-benar dijalankan di sistem pemetaan CDN lingkungan produksi. Sebuah instans berulang dibuat untuk node penjadwalan berdasarkan tipe dan periode penjadwalan yang Anda tentukan. Misalnya, jika Anda mengonfigurasi node untuk dijalankan setiap jam, sejumlah instans harian yang sesuai akan dihasilkan untuk node tersebut setiap hari. Tugas berulang dijalankan secara otomatis menggunakan instans berulang tersebut.

  • Penjadwalan berbasis menit: Dalam rentang waktu tertentu setiap hari, node penjadwalan dijalankan sekali dengan interval N × menit yang ditentukan. Time Interval minimum untuk penjadwalan berbasis menit adalah 1 menit.

  • Penjadwalan berbasis jam: Dalam rentang waktu tertentu setiap hari, node penjadwalan dijalankan sekali dengan interval N × 1 jam.

  • Penjadwalan berbasis hari: Node penjadwalan dijalankan sekali pada waktu tertentu setiap hari. Saat membuat tugas berulang, periode penjadwalan default untuk penjadwalan harian adalah dijalankan sekali pada pukul 00:00 setiap hari. Anda dapat menentukan waktu eksekusi sesuai kebutuhan.

  • Penjadwalan berbasis minggu: Node penjadwalan dijalankan secara otomatis sekali pada waktu tertentu di hari-hari tertentu dalam seminggu.

  • Penjadwalan berbasis bulan: Node penjadwalan dijalankan secara otomatis sekali pada waktu tertentu di hari-hari tertentu dalam sebulan.

  • Penjadwalan berbasis tahun: Node penjadwalan dijalankan secara otomatis sekali pada waktu tertentu di hari-hari tertentu dalam setahun.

Penting

Untuk penjadwalan mingguan, bulanan, dan tahunan, instans tetap dihasilkan setiap hari selama waktu non-penjadwalan. Instans tersebut menampilkan status berhasil, tetapi sebenarnya melakukan dry-run dan tidak benar-benar menjalankan tugas.

Tanggal efektif

Node penjadwalan mulai berlaku dan dijadwalkan secara otomatis dalam rentang tanggal efektif. Tugas yang melebihi tanggal efektif tidak akan dijadwalkan secara otomatis. Tugas tersebut merupakan tugas kedaluwarsa. Anda dapat melihat jumlah tugas kedaluwarsa di Dasbor O&M dan membatalkan publikasinya sesuai kebutuhan.

Ekspresi Cron

Ekspresi ini dihasilkan secara otomatis berdasarkan konfigurasi properti waktu dan tidak perlu dikonfigurasi.

Dependensi penjadwalan

Dependensi penjadwalan tugas di DataWorks mengacu pada Graf Berarah Tanpa Siklus (DAG) antar node dalam skenario penjadwalan. Tugas node turunan mulai berjalan hanya setelah tugas node leluhurnya berhasil dijalankan. Mengonfigurasi dependensi penjadwalan memastikan bahwa tugas penjadwalan dapat memperoleh data yang benar saat dijalankan. Setelah node leluhur berhasil dijalankan, DataWorks mendeteksi bahwa data terbaru untuk tabel leluhur telah dihasilkan, sehingga memungkinkan node turunan mengambil data tersebut. Hal ini mencegah node turunan gagal mengambil data karena data tabel leluhur belum dihasilkan.

Perhatian

  • Setelah dependensi node dikonfigurasi, syarat eksekusi node turunan adalah semua node leluhur yang menjadi dependensinya telah berhasil dijalankan. Jika tidak, tugas saat ini mungkin mengalami masalah kualitas data saat mengambil data.

  • Waktu eksekusi aktual tugas bergantung pada waktu terjadwalnya sendiri dan waktu penyelesaian tugas leluhurnya. Jika tugas leluhur belum selesai dijalankan, tugas turunan tidak akan dijalankan, meskipun waktu terjadwalnya lebih awal daripada tugas leluhur. Untuk informasi selengkapnya tentang kondisi eksekusi tugas, lihat Diagnosa tugas yang sedang berjalan.

Konfigurasikan dependensi penjadwalan

Tujuan utama dependensi tugas di DataWorks adalah memastikan node turunan dapat mengambil data dengan benar. Ini pada dasarnya adalah dependensi alur data antara tabel leluhur dan turunan. Anda dapat memilih apakah akan mengonfigurasi dependensi penjadwalan berdasarkan alur data tabel sesuai kebutuhan bisnis. Proses mengonfigurasi dependensi penjadwalan node adalah sebagai berikut.

image

Setelah dependensi node dikonfigurasi, dependensi kuat secara default ada antara tabel output node leluhur dan turunan. Oleh karena itu, saat mengonfigurasi dependensi penjadwalan untuk tugas, Anda harus memastikan apakah terdapat dependensi alur data yang kuat. Dependensi alur data yang kuat ada jika output data node turunan bergantung pada output data node leluhur. Konfirmasi ini mencegah masalah di mana tugas saat ini tidak dapat mengambil data karena data leluhur belum dihasilkan.

Nomor urut

Deskripsi

Untuk mencegah tugas saat ini dijalankan pada waktu yang tidak diharapkan, Anda dapat terlebih dahulu menilai apakah terdapat dependensi kuat antar tabel dan memastikan apakah perlu mengonfigurasi dependensi penjadwalan berdasarkan alur data.

Memastikan apakah skenario saat ini melibatkan data tabel yang dihasilkan oleh tugas berulang. Untuk data tabel yang tidak dihasilkan oleh penjadwalan berulang di DataWorks, DataWorks tidak dapat memantau output data melalui status eksekusi tugas. Oleh karena itu, beberapa tabel tidak mendukung konfigurasi dependensi penjadwalan.

Tabel dengan data yang tidak dihasilkan oleh penjadwalan berulang di DataWorks meliputi, namun tidak terbatas pada, jenis berikut:

  • Tabel yang dihasilkan oleh sinkronisasi real-time

  • Tabel yang diunggah dari lokal ke DataWorks

  • Tabel dimensi

  • Tabel yang dihasilkan oleh tugas satu kali

  • Tabel yang berubah secara berkala namun tidak dihasilkan oleh node penjadwalan di DataWorks

③④

Pilih untuk bergantung pada siklus yang sama atau siklus sebelumnya dari node leluhur berdasarkan apakah Anda perlu bergantung pada data kemarin atau hari ini dari node leluhur, serta apakah tugas berbasis jam atau menit perlu bergantung pada instans siklus jam atau menit sebelumnya.

  • Dependensi penjadwalan siklus yang sama: Node turunan bergantung pada data tabel yang dihasilkan oleh node leluhur hari ini.

  • Dependensi penjadwalan siklus sebelumnya (dependensi lintas siklus):

    • Node turunan bergantung pada data tabel yang dihasilkan oleh node leluhur kemarin.

    • Skenario dependensi khusus untuk tugas berbasis jam dan menit:

      • Untuk bergantung pada data instans siklus jam atau menit sebelumnya, Anda dapat mengatur dependensi lintas siklus.

      • Jika tugas berbasis jam bergantung pada tugas berbasis jam lain dan waktu terjadwalnya persis sama, pengaturan dependensi lintas siklus dapat membuat instans pukul 2:00 node turunan bergantung pada instans pukul 1:00 node leluhur. Prinsipnya sama untuk tugas berbasis menit yang bergantung pada tugas berbasis menit.

Catatan

Untuk detail konfigurasi skenario dependensi penjadwalan berdasarkan alur data, lihat Pilih tipe dependensi (dependensi siklus yang sama).

⑤⑥⑦

Setelah dependensi dikonfigurasi dan dipublikasikan ke lingkungan produksi, Anda dapat memeriksa apakah dependensi tugas sesuai harapan di bagian Auto Triggered Task di Operation Center.

Konfigurasikan dependensi node kustom

Jika tidak terdapat dependensi alur data yang kuat antar tugas di DataWorks, atau jika data dependensi bukan berasal dari tabel yang dihasilkan oleh node penjadwalan berulang, Anda dapat menyesuaikan dependensi node. Misalnya, tugas mungkin tidak bergantung kuat pada partisi tertentu dari data leluhur, melainkan hanya mengambil data dari partisi terbaru pada waktu saat ini. Contoh lain adalah ketika data berasal dari tabel yang diunggah secara lokal. Anda dapat mengonfigurasi dependensi kustom dengan cara berikut:

  • Bergantung pada node akar ruang kerja

    Dalam skenario di mana data masukan untuk tugas sinkronisasi berasal dari database bisnis lain, atau tugas tipe SQL memproses data tabel yang dihasilkan oleh tugas sinkronisasi real-time, Anda dapat mengaitkan dependensi langsung ke node akar ruang kerja.

  • Bergantung pada node beban nol

    Jika ruang kerja berisi banyak atau proses bisnis yang kompleks, Anda dapat menggunakan node beban nol untuk mengelolanya. Anda dapat mengaitkan dependensi node yang memerlukan manajemen terpusat ke node beban nol tertentu untuk memperjelas jalur penerusan data di ruang kerja. Misalnya, Anda dapat mengontrol waktu penjadwalan keseluruhan proses bisnis atau mengontrol penjadwalannya secara keseluruhan, termasuk membekukannya (menonaktifkan penjadwalan).

Parameter output node

Setelah Anda mendefinisikan parameter output dan nilainya untuk node leluhur, Anda dapat mendefinisikan parameter input untuk node turunan yang nilainya mereferensikan parameter output node leluhur tersebut. Hal ini memungkinkan node turunan menggunakan parameter ini untuk memperoleh nilai yang diteruskan dari node leluhur.

Perhatian

  • Output Parameter node hanya digunakan sebagai parameter input untuk node turunan. Anda dapat menambahkan parameter di bagian parameter penjadwalan node turunan dan mengaitkannya dengan parameter leluhur dengan mengklik image di kolom Actions. Beberapa node tidak dapat langsung meneruskan hasil kueri node leluhur ke node turunan. Untuk meneruskan hasil kueri node leluhur ke node turunan, Anda dapat menggunakan node assignment. Untuk informasi selengkapnya, lihat Node assignment.

  • Node yang mendukung parameter output node adalah: EMR Hive, EMR Spark SQL, ODPS Script, Hologres SQL, AnalyticDB for PostgreSQL, dan node MySQL.

Konfigurasikan parameter output node

Nilai Node Output Parameter dapat berupa Constant atau Variable.

Setelah Anda mendefinisikan parameter output dan mengirimkan node saat ini, Anda dapat memilih Bind The Output Parameter Of The Ancestor Node untuk menggunakannya sebagai parameter input untuk node turunan saat mengonfigurasi parameter penjadwalan untuk node turunan tersebut.

image

  • Nama parameter: Nama parameter output yang didefinisikan.

  • Nilai parameter: Nilai parameter output. Jenis nilainya dapat berupa konstanta atau variabel:

    • Konstanta adalah string tetap.

    • Variabel dapat berupa variabel global yang didukung sistem, parameter penjadwalan bawaan, atau parameter kustom.

Referensi

Konfigurasikan role terkait node

Fitur associate role DataWorks memungkinkan Anda menentukan role RAM prasetel untuk node tugas tertentu. Saat tugas dijalankan, tugas tersebut secara dinamis memperoleh kredensial akses temporary untuk role tersebut melalui Alibaba Cloud Security Token Service (STS). Kode Anda kemudian dapat mengakses sumber daya cloud lain tanpa hardcoding pasangan AccessKey permanen.

Penting
  • Batasan kelompok sumber daya: Fitur ini hanya didukung untuk node yang dijalankan pada kelompok sumber daya Serverless.

  • Batasan tipe node: Fitur ini hanya didukung untuk node Python, Shell, Notebook, PyODPS 2, dan PyODPS 3.

1. Konfigurasikan role terkait di node DataWorks

  1. Pada panel navigasi sebelah kanan halaman pengeditan node, temukan dan klik Debug Configuration.

  2. Pada panel konfigurasi penjadwalan, beralih ke tab Associated Role.

  3. Dari daftar drop-down RAM Role, pilih role RAM yang telah Anda siapkan.

    Penting

    Jika daftar drop-down kosong atau role yang diperlukan tidak ditemukan, lihat Konfigurasikan role terkait untuk mengakses layanan Alibaba Cloud lain menggunakan STS.

  4. Setelah konfigurasi selesai, kirimkan node tersebut. Konfigurasi ini hanya berlaku untuk debug runs.

2. Peroleh dan gunakan kredensial temporary dalam kode

Setelah Anda mengonfigurasi role terkait, DataWorks menyuntikkan kredensial temporary yang diperoleh ke lingkungan eksekusi saat tugas dijalankan. Anda dapat memperoleh kredensial tersebut dalam kode Anda dengan dua cara berikut.

Metode 1: Baca variabel lingkungan (Direkomendasikan untuk Shell dan Python)

Sistem secara otomatis menetapkan tiga variabel lingkungan berikut, yang dapat Anda baca langsung dalam kode Anda.

  • LINKED_ROLE_ACCESS_KEY_ID: ID AccessKey temporary.

  • LINKED_ROLE_ACCESS_KEY_SECRET: Rahasia AccessKey temporary.

  • LINKED_ROLE_SECURITY_TOKEN: Token keamanan temporary.

Contoh kode (Python):

Penting

Dalam kasus ini, Anda harus memilih citra Python kustom dengan oss2 yang telah diinstal untuk eksekusi. Untuk informasi selengkapnya, lihat Citra kustom.

import os
import oss2

# 1. Peroleh kredensial temporary dari variabel lingkungan.
access_key_id = os.environ.get('LINKED_ROLE_ACCESS_KEY_ID')
access_key_secret = os.environ.get('LINKED_ROLE_ACCESS_KEY_SECRET')
security_token = os.environ.get('LINKED_ROLE_SECURITY_TOKEN')

# Periksa apakah kredensial berhasil diperoleh.
if not all([access_key_id, access_key_secret, security_token]):
    raise Exception("Gagal memperoleh kredensial role terkait dari variabel lingkungan.")

# 2. Gunakan kredensial temporary untuk menginisialisasi klien OSS.
# Asumsikan Anda telah memberikan izin role untuk mengakses 'your-bucket-name'.
auth = oss2.StsAuth(access_key_id, access_key_secret, security_token)
bucket = oss2.Bucket(auth, 'http://oss-<regionID>-internal.aliyuncs.com', 'your-bucket-name')

# 3. Gunakan klien untuk mengakses sumber daya OSS.
try:
    # Daftar objek dalam bucket.
    for obj in oss2.ObjectIterator(bucket):
        print('nama objek: ' + obj.key)
    print("Berhasil mengakses OSS dengan role terkait.")
except oss2.exceptions.OssError as e:
    print(f"Kesalahan saat mengakses OSS: {e}")

Contoh kode (Shell):

#!/bin/bash
access_key_id=${LINKED_ROLE_ACCESS_KEY_ID}
access_key_secret=${LINKED_ROLE_ACCESS_KEY_SECRET}
security_token=${LINKED_ROLE_SECURITY_TOKEN}

# Akses OSS. Ganti regionID, bucket_name, dan file_name dengan informasi aktual.
echo "ID: "$access_key_id
echo "token: "$security_token
ls -al /home/admin/usertools/tools/
/home/admin/usertools/tools/ossutil64 cp --access-key-id $access_key_id --access-key-secret $access_key_secret --sts-token $security_token --endpoint http://oss-<regionID>-internal.aliyuncs.com os://<bucket_name>/<file_name> test_dw.py
echo "************************ Berhasil diperoleh ************************, mencetak hasil"
cat test_dw.py
Metode 2: Gunakan Credentials Client (Direkomendasikan untuk Python)

Contoh kode (Python):

Penting

Dalam kasus ini, Anda harus memilih citra Python kustom dengan oss2 dan alibabacloud_credentials yang telah diinstal untuk eksekusi. Untuk informasi selengkapnya, lihat Citra kustom.

from alibabacloud_credentials.client import Client as CredentialClient
import oss2

# 1. Gunakan SDK untuk memperoleh kredensial secara otomatis.
# SDK secara otomatis menemukan informasi kredensial seperti LINKED_ROLE_* di variabel lingkungan.
cred_client = CredentialClient()
credential = cred_client.get_credential()

access_key_id = credential.get_access_key_id()
access_key_secret = credential.get_access_key_secret()
security_token = credential.get_security_token()

if not all([access_key_id, access_key_secret, security_token]):
    raise Exception("Gagal memperoleh kredensial role terkait melalui SDK.")

# 2. Gunakan kredensial untuk menginisialisasi klien OSS.
auth = oss2.StsAuth(access_key_id, access_key_secret, security_token)
bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', 'your-bucket-name')

# 3. Akses OSS.
print("Menampilkan objek dalam bucket...")
for obj in oss2.ObjectIterator(bucket):
    print(' - ' + obj.key)
print("Berhasil mengakses OSS dengan role terkait melalui SDK.")

3. Jalankan dan verifikasi

Penting
  • Shell dan Python: Saat tugas dijalankan, tugas tersebut menggunakan role RAM yang ditentukan untuk mengakses produk cloud lain.

  • PyODPS: Saat mengakses produk cloud lain seperti OSS, tugas tersebut menggunakan identitas role RAM yang Anda atur. Namun, saat mengakses data MaxCompute, tugas tersebut tetap secara otomatis menggunakan identitas akses yang dikonfigurasi untuk sumber daya komputasi di tingkat proyek.

Konfigurasikan properti penjadwalan

Setelah Anda melakukan debug node, Anda harus menyinkronkan Associated Role dari Debugging Configurations ke pengaturan Associated Role > RAM Role di Scheduling. Setelah Anda mempublikasikan node, tugas tersebut dijalankan sebagai role ini.

Jika Anda mengonfigurasi citra kustom dalam konfigurasi debug, Anda juga harus menyinkronkan pengaturan tersebut ke konfigurasi penjadwalan.

Lihat role eksekusi di Operation Center

Setelah tugas dijalankan, Anda dapat membuka Operation Center untuk melihat detail instans tugas dan memastikan apakah role yang ditentukan telah digunakan.

  1. Buka Operation Center > Auto Triggered Node O&M > Auto Triggered Instances.

  2. Temukan instans node yang telah Anda jalankan dan klik namanya untuk membuka halaman detail.

  3. Pada bagian Properties di halaman detail instans, lihat bidang Execution Identity. Bidang ini menampilkan ARN role terkait yang digunakan untuk eksekusi tersebut.

    Nama Sumber Daya Alibaba Cloud (ARN) adalah pengidentifikasi unik untuk sumber daya. Untuk informasi selengkapnya, lihat Elemen dasar kebijakan akses.

Referensi