Workflow adalah grafik asiklik terarah (DAG) visual yang dibuat dengan menyeret dan menghubungkan task. Untuk menjalankan task pada waktu tertentu, buat workflow dan definisikan task beserta kebijakan penjadwalannya. Topik ini menjelaskan cara membuat dan menjalankan workflow.
Limitations
-
Anda hanya dapat membuat workflow untuk batch job yang telah diterapkan.
-
Fitur Workflows sedang dalam pratinjau publik. SLA tidak dijamin selama periode ini. Untuk informasi lebih lanjut, lihat Service Level Agreement (SLA) for Realtime Compute for Apache Flink. Jika Anda mengalami masalah, Anda dapat submit a ticket.
-
Fitur Workflows hanya tersedia di wilayah China (Shanghai), China (Hangzhou), China (Beijing), China (Shenzhen), China (Zhangjiakou), dan Singapura.
Create a workflow
-
Pada kolom Actions ruang kerja target, klik Console.
-
Di panel navigasi kiri, pilih .
-
Klik Create workflow dan konfigurasikan parameter berikut.
Parameter
Description
Workflow name
Nama workflow harus unik dalam namespace saat ini.
Variable configuration
Mengaktifkan pemrosesan data dengan nilai yang telah ditentukan.
-
Variable name: Nama variabel kustom, seperti
${date}. -
Variable value: Dapat berupa tanggal statis, format waktu, atau ekspresi.
Variabel waktu sistem berikut didukung:
-
Variable name
system.biz.datedengan nilai${system.biz.date}: Mewakili hari sebelum waktu terjadwal instans workflow harian, dalam formatyyyyMMdd. -
Variable name
system.biz.curdatedengan nilai${system.biz.curdate}: Mewakili tanggal terjadwal (tahun, bulan, hari) instans workflow harian, dalam formatyyyyMMdd. -
Variable name
system.datetimedengan nilai${system.datetime}: Mewakili waktu terjadwal (tahun, bulan, hari, jam, menit, detik) instans workflow harian, dalam formatyyyyMMddHHmmss.
Catatan-
Konfigurasi ini tidak diperlukan saat membuat workflow untuk tabel materialized.
-
Parameter ini berlaku untuk semua deployment yang terkait dengan task dalam workflow. Konfigurasi tingkat workflow menggantikan konfigurasi tingkat deployment.
Scheduling type
Mendukung dua jenis penjadwalan:
-
Manually Triggered: Jalankan workflow secara manual dengan mengklik Execute. Cocok untuk pengujian sementara atau pemrosesan segera.
-
Periodic scheduling: Mem-trigger workflow berdasarkan aturan penjadwalan. Anda dapat menjadwalkannya untuk berjalan setiap beberapa menit, jam, atau hari.
PentingWorkflow dengan task tabel materialized memerlukan penjadwalan periodik.
Scheduling rule
Diperlukan hanya untuk Periodic scheduling. Anda dapat menggunakan ekspresi cron untuk mendefinisikan aturan kompleks. Contoh:
-
0 0 */4 ? * *: Dieksekusi setiap 4 jam. -
0 0 2 ? * *: Dieksekusi pukul 02.00 setiap hari. -
0 0 5,17 ? * MON-FRI: Dieksekusi pukul 05.00 dan 17.00, Senin hingga Jumat.
Untuk informasi lebih lanjut tentang sintaksis ekspresi cron, lihat Cron expression syntax.
Scheduled start time
Waktu saat aturan mulai berlaku. Parameter ini hanya diperlukan untuk jenis Periodic scheduling.
Penting-
Workflow yang dijadwalkan secara periodik hanya berjalan setelah State-nya diaktifkan.
-
Tetapkan scheduled start time ke waktu di masa depan untuk memastikan task tidak melewatkan jendela penjadwalannya.
Failure retry count
Menentukan berapa kali task yang gagal dalam workflow akan dicoba ulang. Secara default, percobaan ulang dinonaktifkan.
Failure notification
Alamat email default untuk notifikasi ketika task dalam workflow gagal.
CatatanAnda dapat mengonfigurasi alert melalui DingTalk, SMS, dan metode lainnya melalui CloudMonitor. Untuk informasi lebih lanjut, lihat Configure monitoring and alerts.
Resource queue
Target deployment untuk workflow. Untuk informasi lebih lanjut, lihat Manage resource queues. Pengaturan ini berlaku untuk semua task secara default, sehingga tidak perlu dikonfigurasi di tingkat task.
CatatanPengaturan ini tidak mengubah target deployment dari batch job yang telah diterapkan yang bersesuaian.
Tag
Anda dapat menambahkan kunci dan nilai untuk membuat tag untuk workflow.
-
-
Klik Create.
Anda akan diarahkan ke halaman pembuat workflow.
-
Konfigurasikan task awal workflow.
Halaman pembuat berisi task awal default. Klik task awal tersebut, konfigurasikan parameternya di panel Edit task, lalu klik Save.
Job
Parameter
Description
Deployment
Anda hanya dapat memilih batch job yang telah diterapkan dari namespace saat ini. Pencarian fuzzy didukung.
Task name
Nama task dalam workflow saat ini.
Upstream tasks
Dependensi hulu dari task saat ini. Anda hanya dapat memilih task lain dalam workflow saat ini.
CatatanTask awal tidak memiliki dependensi hulu, sehingga Anda tidak dapat memilih task hulu untuknya.
Failure retry count
Jumlah upaya percobaan ulang untuk task yang gagal. Secara default, nilai ini diwariskan dari jumlah percobaan ulang workflow. Jika ditentukan, pengaturan tingkat task akan mengambil prioritas.
Subscription
Konfigurasikan kebijakan langganan status dan email notifikasi. Anda dapat berlangganan status Start dan Fail.
Timeout
Waktu eksekusi maksimum untuk task. Jika task melebihi durasi ini, task akan gagal.
Resource queue
Target deployment untuk task. Untuk informasi lebih lanjut, lihat Manage resource queues. Jika tidak ditentukan, antrian sumber daya yang dikonfigurasi untuk workflow akan digunakan.
CatatanPengaturan ini tidak mengubah target deployment dari batch job yang telah diterapkan yang bersesuaian.
Tag
Anda dapat menambahkan kunci dan nilai untuk membuat tag untuk task workflow.
Materialized table
Parameter
Description
Materialized table
Anda hanya dapat memilih tabel materialized terpartisi yang dibuat dengan VVR 11.0 atau versi lebih baru dan menggunakan mode refresh streaming.
Task name
Nama task dalam workflow saat ini.
Time partition
-
Partition field: Field partisi waktu dari tabel materialized.
-
Partition format: Misalnya,
yyyyMMdd.
Resource configuration
Anda dapat menyesuaikan jumlah sumber daya yang digunakan untuk backfill terjadwal. Untuk parallelism, pilih Automatically allocate agar sistem menentukan nilai yang sesuai.
Upstream tasks
Dependensi hulu dari task saat ini. Anda hanya dapat memilih task lain dalam workflow saat ini.
Catatan-
Task awal tidak memiliki dependensi hulu, sehingga Anda tidak dapat memilih task hulu untuknya.
-
Setelah Anda membuat task tabel materialized, task hilir secara otomatis diinferensi berdasarkan alur data.
Failure retry count
Jumlah upaya percobaan ulang untuk task yang gagal. Secara default, nilai ini diwariskan dari jumlah percobaan ulang workflow. Jika ditentukan, pengaturan tingkat task akan mengambil prioritas.
Subscription
Konfigurasikan kebijakan langganan status dan email notifikasi. Anda dapat berlangganan status Start dan Fail.
Timeout
Waktu eksekusi maksimum untuk task. Jika task melebihi durasi ini, task akan gagal.
Resource queue
Target deployment untuk task. Untuk informasi lebih lanjut, lihat Manage resource queues. Jika tidak ditentukan, antrian sumber daya yang dikonfigurasi untuk workflow akan digunakan.
CatatanPengaturan ini tidak mengubah target deployment dari tabel materialized yang telah diterapkan yang bersesuaian.
Tag
Anda dapat menambahkan kunci dan nilai untuk membuat tag untuk task workflow.
Catatan-
Setelah Anda membuat task tabel materialized, kotak dialog akan menggunakan alur data tabel tersebut untuk menyarankan task hilir. Cukup pilih task yang diinginkan untuk menyelesaikan pengaturan.
-
Task hilir juga harus memenuhi batasan yang sama. Anda hanya dapat memilih tabel materialized terpartisi yang dibuat dengan VVR 11.0 atau versi lebih baru dan menggunakan mode refresh streaming dengan freshness kurang dari 30 menit.
-
-
(Opsional) Klik Add task di bagian bawah halaman untuk menambahkan task lainnya.
-
Simpan konfigurasi workflow.
-
Di pojok kanan atas halaman editor task, klik Save.
-
Pada kotak dialog yang muncul, klik OK.
-
Run a workflow
Setiap eksekusi workflow menghasilkan instans workflow, yang muncul di tab Overview halaman detail workflow.
-
Manual trigger: Menjalankan workflow satu kali secara langsung. Berguna untuk pengujian atau pemrosesan sesuai permintaan.
Pada kolom Actions workflow target, klik Execute. Pada kotak dialog yang muncul, pilih Manual trigger lalu klik OK. Setiap operasi memicu satu eksekusi workflow.
-
Periodic scheduling: Setelah diaktifkan, workflow berjalan secara otomatis pada waktu yang dijadwalkan.
Anda harus mengaktifkan State workflow target agar berjalan pada waktu yang dijadwalkan.
Untuk mengisi ulang data historis atau memproses ulang data dalam partisi tertentu untuk periode tertentu, gunakan fitur Data backfill.
Data backfill
Data backfill melengkapi atau memperbarui data dalam rentang waktu tertentu. Kasus penggunaan umum termasuk memproses ulang data historis dari sumber hulu, memperbaiki tabel dimensi, atau mengisi ulang data untuk integrasi baru.
Perform a data backfill
-
Pada kolom Actions ruang kerja target, klik Console.
-
Di panel navigasi kiri, pilih .
-
Pada kolom Actions workflow target, klik Execute.
-
Pada kotak dialog Execute, pilih jenis penjadwalan Backfill dan konfigurasikan informasi berikut.
Parameter
Description
Time range
Menentukan rentang waktu untuk pengisian ulang data. Rentang ini diteruskan ke variabel waktu workflow untuk memicu refresh data untuk partisi yang sesuai.
Resource queue
Antrian target tempat task pengisian ulang data berjalan. Default-nya adalah
default-queue. -
Klik OK.
Manage data backfill instances
Instans pengisian ulang data dikelola dengan cara yang sama seperti instans workflow. Untuk informasi lebih lanjut, lihat Manage workflow instances and task instances. Anda dapat melakukan langkah-langkah berikut untuk melihat instans pengisian ulang data.
Klik nama workflow target untuk membuka halaman instansnya.
Di tab Overview, Anda dapat melihat instans pengisian ulang data yang sesuai, serta waktu eksekusi dan statusnya.
Workflow status
Kolom Status merangkum status semua instans untuk workflow tertentu. Misalnya, jika workflow berjalan setiap hari selama lima hari, kolom Status menampilkan jumlah instans dari lima eksekusi tersebut yang berada dalam masing-masing status (seperti Successful atau Failed).
|
Color |
Status |
|
Purple |
Pending |
|
Blue |
Running |
|
Green |
Successful |
|
Red |
Failed |
Edit a workflow
-
Pada kolom Actions ruang kerja target, klik Console.
-
Di panel navigasi kiri, klik Workflows.
-
Pada kolom Actions workflow target, klik Edit workflow.
Untuk deskripsi parameter, lihat Create a workflow.
CatatanUntuk mengedit workflow, State-nya harus dalam kondisi Off.
Related topics
-
Untuk menjadwalkan task batch Flink SQL di DataWorks, lihat Flink SQL Batch node dan Node scheduling configuration.
-
Untuk informasi lebih lanjut tentang konsep dasar Workflows, lihat Workflows (public preview).
-
Untuk melihat instans workflow, log task, dan lainnya, lihat Manage workflow instances and task instances.
-
Anda dapat menambahkan antrian sumber daya untuk mengisolasi dan mengelola sumber daya. Untuk informasi lebih lanjut, lihat Manage resource queues.
-
Untuk menerapkan batch job (SQL, JAR, dan Python), lihat Deploy a job.