Mengonfigurasi dependensi tugas
Bidang Jalankan jika dependensi memungkinkan Anda menambahkan logika alur kontrol ke tugas berdasarkan keberhasilan, kegagalan, atau penyelesaian tugas lainnya.
Dependensi secara visual diwakili dalam DAG pekerjaan sebagai baris antar tugas.
Azure Databricks menjalankan tugas upstream sebelum menjalankan tugas downstream, menjalankan sebanyak mungkin secara paralel.
Catatan
Bergantung hanya terlihat jika pekerjaan terdiri dari beberapa tugas.
Databricks juga memiliki fungsionalitas berikut untuk alur kontrol dan kondisionalisasi:
- Tugas kondisi If/else digunakan untuk menjalankan bagian dari DAG pekerjaan berdasarkan hasil ekspresi boolean. Tugas ini
If/else condition
memungkinkan Anda menambahkan logika percabangan ke pekerjaan Anda. Misalnya, jalankan tugas transformasi hanya jika tugas penyerapan upstram menambahkan data baru. Lihat Menambahkan logika pencabangan ke pekerjaan dengan tugas If/else. - Tugas Untuk setiap kondisi menambahkan logika perulangan ke tugas lain berdasarkan array input. Array input dapat ditentukan secara manual atau dihasilkan secara dinamis. Lihat Menjalankan tugas pekerjaan Azure Databricks berparameter dalam perulangan.
- Tugas Jalankan Pekerjaan memungkinkan Anda memicu pekerjaan lain di ruang kerja Anda. Lihat Menjalankan tugas Pekerjaan untuk pekerjaan.
Menambahkan kondisi Jalankan jika ke tugas
Jika Anda memiliki tugas yang dipilih di DAG saat membuat tugas baru, tugas baru Anda memiliki dependensi yang dikonfigurasi pada tugas ini secara default.
Untuk mengedit atau menambahkan kondisi, lakukan hal berikut:
- Pilih tugas.
- Di bidang Bergantung pada, klik X untuk menghapus tugas atau pilih tugas yang akan ditambahkan dari menu drop-down.
- Pilih salah satu opsi kondisional di bidang Jalankan jika dependensi .
- Klik Simpan tugas.
Run if
opsi kondisi
Anda bisa menambahkan kondisi berikut Run if
ke tugas:
- Semua berhasil: Semua dependensi telah berjalan dan berhasil. Ini adalah pengaturan default. Tugas ditandai seolah-olah
Upstream failed
kondisi tidak terukur. - Setidaknya satu berhasil: Setidaknya satu dependensi telah berhasil. Tugas ditandai seolah-olah
Upstream failed
kondisi tidak terukur. - Tidak ada yang gagal: Tidak ada dependensi yang gagal, dan setidaknya satu dependensi dijalankan. Tugas ditandai seolah-olah
Upstream failed
kondisi tidak terukur. - Semua selesai: Tugas dijalankan setelah semua dependensinya berjalan, terlepas dari status eksekusi dependen. Kondisi ini memungkinkan Anda menentukan tugas yang dijalankan tanpa bergantung pada hasil tugas dependennya.
- Setidaknya satu gagal: Setidaknya satu dependensi gagal. Tugas ditandai seolah-olah
Excluded
kondisi tidak terukur. - Semua gagal: Semua dependensi telah gagal. Tugas ditandai seolah-olah
Excluded
kondisi tidak terukur.
Catatan
- Tugas yang dikonfigurasi untuk menangani kegagalan ditandai seolah-olah
Excluded
kondisinyaRun if
tidak terukur. Tugas yang dikecualikan dilewati dan diperlakukan sebagai berhasil. - Jika semua dependensi tugas dikecualikan, tugas juga dikecualikan, terlepas dari kondisinya
Run if
. - Jika Anda membatalkan eksekusi tugas, pembatalan disebarluaskan melalui tugas hilir, dan tugas dengan
Run if
kondisi yang menangani kegagalan dijalankan, misalnya, untuk memverifikasi tugas pembersihan berjalan saat tugas dijalankan dibatalkan.
Contoh pekerjaan dengan dependensi tugas
Mengonfigurasi dependensi tugas membuat Directed Acyclic Graph (DAG) eksekusi tugas, cara umum untuk mewakili urutan eksekusi dalam penjadwal pekerjaan. Misalnya, pertimbangkan pekerjaan berikut yang terdiri dari empat tugas:
- Tugas 1 adalah tugas dasar dan tidak tergantung pada tugas lain.
- Tugas 2 dan Tugas 3 tergantung pada Tugas 1 yang diselesaikan terlebih dahulu.
- Yang terakhir, Tugas 4 tergantung pada Tugas 2 dan Tugas 3 yang berhasil diselesaikan.
Diagram berikut mengilustrasikan urutan pemrosesan untuk tugas-tugas ini: