任務管理工具--Airflow經驗


Airflow是一款任務管理工具,管理、可視化相互依賴的任務(Bash任務),可把workflow當成DAG圖。

今天嘗試了一下apache airflow,之所以嘗試,因為業務腳本過多,相互依賴復雜。可視化和可理解性很差。

之前希望使用Oozie或者Azkaban進行管理,今天發現了Airflow,后端使用的Flask。看起來比較輕量化,理解起來也簡單。

 

===體驗后,有以下體驗:===

優點:安裝和啟動簡單,python腳本提交DAG學習成本低,web UI很好

缺點:1 DAG管理功能缺失(不能刪除或修改調度); 2 scheduler的執行缺乏文檔。每次都會從start_time把所有任務重新執行一遍; 3 時間戳所在時區有問題; 

 

===官方QuickStart https://airflow.incubator.apache.org/start.html===

安裝:

需設置環境變量:AIRFLOW_HOME=[path/to/airfllow_home]

pip install airflow

alias airflow="path/to/airflow.py"

airflow initdb

airflow webserver -p [port]

 

遇到問題和解法:

1

? 添加用戶報錯:sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: users

! 添加環境變量AIRFLOW_HOME

? user.password = psw時 AttributeError("can't set attribute")

! pip install 'sqlalchemy<1.2'

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM