Alur kerja mengotomatiskan pemrosesan data dengan menyusun node tugas ke dalam grafik asiklik terarah (DAG) visual melalui metode seret-dan-lepas, menetapkan dependensi dan penjadwalan untuk membangun pipa data yang andal.
Konsep utama
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 pemangku kepentingan 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 ujung-ke-ujung. -
Menetapkan batasan untuk kolaborasi tim
Dalam 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 distandardisasi 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 paket event. Tidak bergantung pada jadwal tetap. Mendukung pemicuan manual, pemicuan API, dan pemicuan event. 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 |
Pemicuan manual/event/API |
Eksekusi manual |
|
Kasus penggunaan |
Pemrosesan batch harian/per jam/mingguan/bulanan |
Pemrosesan real-time/eksekusi sesuai permintaan/integrasi eksternal |
Tugas ad hoc (kompatibilitas lama) |
|
Prioritas parameter |
Node > Workflow > Workspace |
Node > Workflow > Workspace |
Workflow > Node |
|
Contoh khas |
Pelaporan harian T+1 pada tengah malam |
Pemrosesan otomatis saat file OSS tiba |
Perbaikan data satu kali |
-
Event-triggered workflow tanpa pemicu terikat juga dapat digunakan sebagai alur kerja yang dijalankan secara manual, sehingga secara bertahap menggantikan alur kerja manual.
-
Alur kerja manual terutama digunakan untuk kompatibilitas dengan mode pengembangan data lama. Kami tidak merekomendasikan penggunaannya untuk proyek baru.
Panduan pemilihan cepat
Jawab tiga pertanyaan berikut untuk menentukan jenis alur kerja yang tepat:
FAQ
Bagaimana cara mendapatkan templat Spec dari suatu alur kerja?
Buka alur kerja yang sudah ada di halaman Data Studio, lalu klik Show Spec di pojok kanan atas kanvas untuk melihat dan menyalin Spec alur kerja (dalam format JSON). Anda dapat menggunakan Spec ini sebagai templat untuk membuat atau memperbarui alur kerja melalui OpenAPI.
Bisakah tugas terjadwal berhenti secara otomatis setelah berhasil dijalankan sekali?
Tidak. Scheduled workflow berjalan terus-menerus sesuai jadwal yang dikonfigurasi dan tidak berhenti otomatis setelah eksekusi berhasil. Jika Anda ingin tugas hanya dijalankan sekali, gunakan salah satu metode berikut:
-
Membekukan tugas secara manual: Setelah tugas berhasil, bekukan tugas tersebut secara manual. Tugas yang dibekukan tidak lagi ikut dalam penjadwalan. Untuk informasi lebih lanjut, lihat Freeze a task.
-
Gunakan event-triggered workflow: Jika skenario bisnis Anda hanya memerlukan eksekusi tunggal, event-triggered workflow lebih tepat. Event-triggered workflow tidak terikat jadwal dan hanya berjalan saat dipicu secara manual, dipanggil melalui API, atau dipicu oleh event, sehingga secara inheren memenuhi kebutuhan untuk dijalankan sekali lalu berhenti.
Referensi
Pilih dokumen yang relevan sesuai skenario Anda:
-
Untuk skenario penjadwalan periodik, lihat Scheduled workflows.
-
Untuk skenario berbasis event, lihat Event-triggered workflows.
-
Untuk pemantauan O&M, lihat O&M monitoring.