隨著工作上資料量、流程複雜度持續的增加,使用 Crontab 管理自動更新排程,已無法順利進行資料更新。
容易遇到前一個工作尚未進行完,下一個工作又要開始執行,且下一個工作需要使用上一個工作所產生的資料;
若繼續使用 Crontab 則會遇到資料量持續增加,而打亂自動更新排程,要常常調整排程時間設定來緩解這個情形,
因此,這次透過導入 Airflow 來解決此問題。
Airflow 介紹
Airflow 是一個工作流程管理系統(Workflow Management System),將有相關的工作整合為一個有向無循環圖 DAG (Directed Acyclic Graph),並提供多種 Operator,例如 Bash Operator、Python Operator 等,甚至可直接對 GCP、S3、Slack 等進行操作;DAG 是一個 Python 程式,可達到 Infrastructure as code,減少維運上的複雜度。