Alur kerja mengotomatiskan pemrosesan data dengan menyusun node tugas ke dalam grafik asiklik terarah (DAG) visual melalui drag-and-drop, serta menetapkan dependensi dan penjadwalan untuk membangun pipa data yang andal.
Apa itu alur kerja?
Alur kerja merupakan unit orkestrasi inti di DataWorks. Alur kerja ini menyusun node tugas (SQL, Shell, Python, sinkronisasi data, Check) ke dalam grafik asiklik terarah (DAG) dengan dependensi yang jelas, sehingga memungkinkan penjadwalan dan eksekusi terpadu. Alur kerja juga dapat digabungkan untuk mendukung skenario bisnis yang kompleks.
Dengan mengintegrasikan tugas-tugas terpisah ke dalam proses terstruktur, alur kerja mengalihkan fokus dari manajemen tugas individual ke pengelolaan seluruh pipa data. Manfaat utamanya:
-
Abstraksi dan visualisasi proses pengembangan
Mengemas node-node yang saling bergantung, seperti tugas SQL dan Shell, ke dalam alur kerja berorientasi bisnis, misalnya "Analisis Pengguna Aktif Harian". Hal ini menghasilkan DAG yang jelas sehingga memperjelas garis keturunan teknis. Selain itu, pendekatan ini membantu pihak non-teknis memahami aliran data dan menyelaraskan tujuan bisnis dengan implementasi teknis. -
Manajemen atomik untuk pengembangan dan O&M
Alur kerja berfungsi sebagai unit terkecil untuk perubahan dan operasi. Alur kerja ini mendukung pengiriman, penerapan, serta tugas O&M secara holistik seperti pengujian, menjalankan ulang, dan pengisian ulang data. Pendekatan ini mencegah masalah produksi akibat modifikasi parsial dan menjamin konsistensi serta stabilitas end-to-end. -
Menetapkan batasan untuk kolaborasi tim
Di lingkungan multi-tim, alur kerja memperjelas kepemilikan dan tanggung jawab. Misalnya, tim perdagangan dapat memiliki alur kerja data perdagangan, sedangkan tim produk dapat memiliki alur kerja data produk. Hal ini memungkinkan isolasi izin dan pelacakan isu. Output yang distandarkan juga mendukung kolaborasi efisien dan terdesentralisasi antara tim hulu dan hilir.
Perbandingan jenis alur kerja
DataWorks merekomendasikan dua jenis alur kerja:
-
Scheduled workflow: Berjalan secara otomatis sesuai jadwal tetap (per jam, harian, mingguan). Dipicu oleh aturan penjadwalan, dengan eksekusi node dikendalikan oleh waktu terjadwal. Cocok untuk pemrosesan data berulang.
-
Event-triggered workflow: Dipicu sesuai permintaan oleh sinyal eksternal—operasi manual, panggilan OpenAPI, atau pesan event. Tidak bergantung pada jadwal tetap. Cocok untuk pemrosesan real-time atau respons terhadap event eksternal.
|
Fitur |
Scheduled workflow |
Event-triggered workflow |
Manual workflow (tidak direkomendasikan) |
|
Metode penjadwalan |
Dipicu oleh waktu terjadwal dan dependensi |
Pemicu Manual/Event/API |
Jalankan manual |
|
Skenario |
Batch harian/per jam/mingguan/bulanan |
Pemrosesan real-time/eksekusi sesuai permintaan/integrasi eksternal |
Tugas sementara (untuk kompatibilitas mundur) |
|
Prioritas parameter |
Node > Workflow > Workspace |
Node > Workflow > Workspace |
Workflow > Node |
|
Kasus penggunaan khas |
Laporan T+1 setiap tengah malam |
Pemrosesan otomatis saat file OSS tiba |
Perbaikan data satu kali |
-
Alur kerja dipicu event tanpa pemicu terikat dapat berfungsi sebagai alur kerja manual, secara bertahap menggantikan alur kerja manual.
-
Alur kerja yang dipicu secara manual terutama digunakan untuk kompatibilitas dengan pola pengembangan data lama. Jangan gunakan untuk proyek baru.
Panduan pemilihan cepat
Jawab tiga pertanyaan berikut untuk menentukan jenis alur kerja yang tepat:
FAQ
Bagaimana cara mendapatkan templat Spec untuk alur kerja?
Di halaman pengembangan data, buka alur kerja yang sudah ada dan klik Show Spec di pojok kanan atas kanvas untuk melihat dan menyalin Spec alur kerja (format JSON). Anda dapat menggunakan Spec ini sebagai templat untuk membuat atau memperbarui alur kerja menggunakan OpenAPI.
Bisakah tugas terjadwal berhenti secara otomatis setelah satu kali berhasil dijalankan?
Tidak. Alur kerja terjadwal berjalan terus-menerus berdasarkan jadwal yang dikonfigurasi dan tidak berhenti secara otomatis setelah berhasil dijalankan. Jika Anda memerlukan tugas yang hanya dijalankan sekali, Anda memiliki dua opsi:
-
Membekukan tugas secara manual: Setelah tugas berhasil dijalankan, Anda dapat membekukannya secara manual. Tugas yang dibekukan tidak termasuk dalam siklus penjadwalan. Untuk petunjuk detail, lihat Lakukan O&M dasar pada tugas periodik.
-
Gunakan alur kerja dipicu event: Jika kasus penggunaan Anda hanya memerlukan satu kali eksekusi, alur kerja dipicu event merupakan pilihan yang lebih baik. Jenis alur kerja ini tidak terikat pada jadwal dan hanya berjalan saat dipicu oleh aksi manual, panggilan API, atau event, sehingga secara inheren memenuhi persyaratan "jalankan sekali lalu berhenti".
Referensi
Pilih topik berdasarkan skenario Anda:
-
Untuk skenario penjadwalan terjadwal, lihat Orkestrasi alur kerja terjadwal.
-
Untuk skenario berbasis event, lihat Alur kerja dipicu event.
-
Untuk O&M dan pemantauan, lihat Ikhtisar.