任务管理工具--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