本文主要是介绍64 任务调度神器 Airflow,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Airflow是Apache下孵化项目,是纯Python编写的一款非常优雅的开源调度平台。Airflow使用DAG(有向无环图)来定义工作流,配置作业以来关系非常方便,毫不夸张的说:再开源的调度工具中,Airflow是首屈一指。
Airflow简介
Airflow具备以下天然优势:
1 . 灵活易用。 Airflow本身是Python编写的,且工作流的定义也是Python编写,有了Python胶水的特性,没有什么任务是调度不了的,有了开源的代码,没有什么问题是无法解决的,我们可以修改源代码来满足个性化的需求,而且代码都是--human-readable 。
2. 功能强大。自带的Operators都有15+ , 也就是说本身已经支持15+不同类型的作业,而且还可以自定义Operators,如shell脚本、Python、Mysql、Oracle、Hive等。无论是传统数据库平台还是大数据平台,统统不在话下,若对官方提供的不满足,则完全可以自己编写Operators.
3. 优雅。作业的定义简单明了,基于JinJa模板引擎很容易做到脚本命令参数化,Web页面更是非常--human-readable。
4. 极易扩展。提供各种基类供扩展,以及多种执行器供选择,其中CeleryExcutor使用了消息队列来编排多个工作节点(worker),可分布式部署多个worker,Airflow可以做到无限扩展。
5. 丰富的命令工具。 可以直接在终端敲命令完成测
这篇关于64 任务调度神器 Airflow的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!