Airflow是airbnb家的基于DAG(有向无环图)的任务管理系统, 最简单的理解就是一个高级版的crontab。它解决了crontab无法解决的任务依赖问题。

本文将介绍 Airflow 这一款优秀的调度工具。主要包括 Airflow 的服务构成、Airflow 的 Web 界面、DAG 配置、常用配置等。

一、什么是 Airflow

Airflow 是 Airbnb 开源的一个用 Python 编写的调度工具。于 2014 年启动,2015 年春季开源,2016 年加入 Apache 软件基金会的孵化计划。

Airflow 通过 DAG 也即是有向非循环图来定义整个工作流,因而具有非常强大的表达能力。

如上图所示,一个工作流可以用一个 DAG 来表示,在 DAG 中将完整得记录整个工作流中每个作业之间的依赖关系、条件分支等内容,并可以记录运行状态。通过 DAG,我们可以精准的得到各个作业之间的依赖关系。

二、相关概念

在进一步介绍 Airflow 之前,先介绍一些在 Airflow 中常见的名词概念:

DAG(directed acyclic graph)

DAG 意为有向无循环图,在 Airflow 中则定义了整个完整的作业。同一个 DAG 中的所有 Task 拥有相同的调度时间。在Linux 的 crontab 和 windows 的任务计划中,他们可以配置定时任务或间隔任务,但不能配置作业之前的依赖关系,但是airflow 中 DAG 就是管理作业依赖关系的。DAG 的英文 directed acyclic graphs 即有向无环图,下图 1 便是一个简单的 DAG

Airflow调度工具简介和使用相关推荐

  1. AirFlow调度执行Talend ETL任务

    AirFlow调度平台简介 airflow 是一个编排.调度和监控工作流的平台,由Airbnb开源,现在在Apache Software Foundation 孵化.airflow将工作流编排为tas ...

  2. 常用调度工具Oozie、Azkaban、Airflow总结

    调度的意义: 调度时一个项目中必不可少的,项目中一般都会包括程序.hive脚本等多任务,我们一般把任务写到shell脚本中,最后通过调度工具把所有的任务串起来. airflow是一个可编程的工作流调度 ...

  3. 使用AirFlow调度MaxCompute

    简介: airflow是Airbnb开源的一个用python编写的调度工具,基于有向无环图(DAG),airflow可以定义一组有依赖的任务,按照依赖依次执行,通过python代码定义子任务,并支持各 ...

  4. 主流大数据调度工具对比(DolphinScheduler特点)

    大数据环境下,调度工具比不可少,离线批任务和准实时任务都需要调度去驱动.下文介绍主流大数据调度工具对比DolphinScheduler .Azkaban.Airflow.Oozie.Xxl-job A ...

  5. [PYTHON]Scons工具简介

    Scons工具简介: Scons是一个类似于make的构建工具,通过定义Scons描述文件(Sconstruct),即可实现类似于make命令的本地编译功能. 方法: 基本框架是先绘制图,这里的绘制图 ...

  6. 主流大数据调度工具对比

    大数据环境下,调度工具比不可少,离线批任务和准实时任务都需要调度去驱动.下文介绍主流大数据调度工具对比DolphinScheduler .Azkaban.Airflow.Oozie.Xxl-job 非 ...

  7. java开源工具简介(2)

    java开源工具简介(2) OpenCms [Java开源 CMS系统] OpenCms是一个J2EE的产品,它是用Java写成的.它和Tomcat捆绑在一起.但是也能够使用ATG Dynamo.We ...

  8. 《python 与数据挖掘 》一 1.2 工具简介

    本节书摘来自华章出版社<python 与数据挖掘 >一书中的第1章,第1.2节,作者张良均 杨海宏 何子健 杨 征,更多章节内容可以访问云栖社区"华章计算机"公众号查看 ...

  9. 【Windows 逆向】OD 调试器工具 ( OD 工具简介 | OD 工具与 CE 工具对比 )

    文章目录 一.OD 工具简介 二.OD 工具与 CE 工具对比 三.博客资源 一.OD 工具简介 OD 全程是 PLLYDBG , 动态追踪工具 , 是目前最流行的 调试解密 工具 ; 该工具支持插件 ...

最新文章

  1. [problem]快速排序和归并排序
  2. 用Windows系统实现RAID功能
  3. RNN以及LSTM的介绍和公式梳理
  4. java打印菱形代码_Java打印菱形高效简洁代码
  5. 想要定位其中的iframe并切进去的定位方法
  6. 每日一课(4/75)逻辑运算指令
  7. 4)Thymeleaf th:each 循环迭代与 th:if、th:switch 条件判断
  8. 数据结构-单链表的正向排序
  9. MATLAB BP神经网络的设计与优化
  10. 了解源代码管理工具——Github
  11. UpdateDate()
  12. 跑团中看到的组织关系
  13. 2月14魔兽服务器维护,魔兽世界2月14日-2月20日世界boss周常任务一览
  14. 衢州学院计算机应用技术分数线,2021年衢州学院投档线及各省最低录取分数线统计表...
  15. ABAP编程语言-概览
  16. 支付宝支付,APP报错:“商家订单参数异常,请重新发起支付”(已解决)
  17. nginx 离线安装
  18. RoadFlow项目架构分析
  19. Genesis公链:夯实Web 3.0发展底座
  20. 整体功能大于部分功能之和_功能性思考,第3部分

热门文章

  1. 【企业】华为灰度扩张史:洪流之中,平稳着陆
  2. C#常用加密解密方法(DES加密解密)
  3. 如何将PDF转换成Word效果最好
  4. 郭明錤:其他苹果配件也将随iPhone换用USB-C接口
  5. 项目文件模板-项目建议书
  6. 解决笔记本电脑突然搜不到可用网络
  7. 2022-2028年中国生活垃圾转运站行业竞争现状及投资决策建议报告
  8. 计算机专业学生毕业去大公司好还是小公司好?
  9. 2019-9-2-正则表达式30分钟入门教程
  10. 【HTML】z-index大的元素一定在小的上面吗?