airflow簡介及使用場景

更多airflow資料,可查看:airflow從入門到精通學習筆記系列

airflow是什么?

airflow是Airbnb開源的一個用python編寫的調度工具,項目于2014年啟動,2015年春季開源,2016年加入Apache軟件基金會的孵化計劃。

Airflow is a platform to programmatically author, schedule and monitor workflows.
airflow是一個可編程、調度和監控的工作流平臺。

Use airflow to author workflows as directed acyclic graphs (DAGs) of tasks. The airflow scheduler executes your tasks on an array of workers while following the specified dependencies. Rich command line utilities make performing complex surgeries on DAGs a snap. The rich user interface makes it easy to visualize pipelines running in production, monitor progress, and troubleshoot issues when needed.
基于有向無環圖(DAG),airflow可以定義一組有依賴的任務,按照依賴依次執行。airflow提供了豐富的命令行工具用于系統管控,而其web管理界面同樣也可以方便的管控調度任務,并且對任務運行狀態進行實時監控,方便了系統的運維和管理。

airflow能用來干什么?

在實際項目中,我們經常遇到以下場景:

  • 運維人員,定時對服務器執行腳本某些腳本,最簡單的方式是添加一些crond任務,但如果想追溯各個任務的執行結果時?
  • 在大數據場景下,每隔一段時間需導出線上數據、導入到大數據平臺、觸發數據處理等多個子操作,且各個子操作含有依賴關系時?
  • 在管理大量主機時,想要一個統一的作業管理平臺,能在上面定義各種任務來管理下面的設備?

airflow通過DAG配置文件,能輕松定義各種任務及任務之間的依賴關系和調度執行,并一個可視化的操作web界面。

airflow有什么優勢?

  • 自帶web管理界面,易上手;
  • 業務代碼和調度代碼完全解耦;
  • 通過python代碼定義子任務,并支持各種Operate操作器,靈活性大,能滿足用戶的各種需求;
  • python開源項目,支持擴展operate等插件,便于二次開發;
    類似的工具有akzban,quart等;

更多airflow資料,可查看:airflow從入門到精通學習筆記系列

如發現文中有錯誤,望留言指明,萬分感激;
如對此文章內容感興趣,想進一步探討,可以留言交流;
如想轉發此文章,請留言協商一下,切勿不指明出處的轉發,尊重原創;
如閱讀過程中有收獲,并想感謝一下,歡迎打賞;
----小林幫

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。