更多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从入门到精通学习笔记系列
如发现文中有错误,望留言指明,万分感激;
如对此文章内容感兴趣,想进一步探讨,可以留言交流;
如想转发此文章,请留言协商一下,切勿不指明出处的转发,尊重原创;
如阅读过程中有收获,并想感谢一下,欢迎打赏;
----小林帮