栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Airflow

Airflow

https://www.zhihu.com/search?type=content&q=Airflow%E4%BD%BF%E7%94%A8%E7%9A%84%E5%8E%9F%E7%90%86%E6%98%AF%E4%BB%80%E4%B9%88

https://airflow.apache.org/docs/apache-airflow/stable/start/docker.html

Airflow 是一个以编程方式编写、安排和监控工作流的平台。

Airflow是将多个任务按照其依赖关系组织起来进行管理调度的工具。
Airflow基于python编写,通过python脚本可以配置和使用其作为data pipeline。除了命令行之外,Airflow提供了web可视化界面,用来管理和监控任务的执行,并且可以查看任务依赖关系图。Airflow可以方便同Hive、Presto、MySQL、HDFS、Postgres 等数据库交互,另外,提供了hook便于扩展。DAG(有向无环图)是Airflow工作流的基本概念。DAG的每个节点表示一个任务,有向边是任务之间的依赖。每个任务具有原子性,保证在任务失败的时候可以自动或手动重试该任务,而不必重启整个DAG。这些任务和依赖构成的DAG就是一个工作流。

为什么要Airflow在一个系统中,任务通常不是完全独立执行的,任务的调度运行常常取决于一些其他因素。比如定时任务存在时间依赖,crontab可以解决这个依赖问题,在Airflow中既兼容crontab的时间表示,同时也可以使用python的datetime模块来表示时间;在多个任务之间可以存在任务间的依赖,某些任务必须在其他特定任务之后才能执行,DAG管理的就是这些任务间依赖;除此之外,任务还可能存在资源依赖,例如依赖某些系统外部资源。

工作自动化在所有行业中都起着关键作用,它是实现功能效率的最快方法之一。我们大多数人都必须处理不同的工作流程,例如:从多个数据库收集数据、对其进行预处理、上传和报告。 所以,如果我们的日常任务能按照规定的时间自动触发,并且所有流程都按顺序执行,那就太好了。Apache Airflow 就是这样一种非常有帮助的工具。无论是数据科学家、数据工程师还是软件工程师,你都一定会发现这个工具很有用。在本文中,我们将为你介绍什么是 Apache Airflow。

Task的生命周期
Task的生命周期有一下八种:

其状态的转化如下图所示:

DAG(Directed Acyclic Graph)是Airflow的核心概念之一,DAG体现的是你的工作流,它由Python脚本定义,其中包含了你想要运行的一系列task,同时其中还定义了这些task的依赖关系。 DAG代表了一个供调度的工作流,它的主要配置项包括owner,schedule。DAG支持多种调度方式,你可以指定该DAG定时调度,如每天的5am,也可以指定它周期性调度,如每二十分钟调度一次。 DAG由其中的task组成。例如,一个简单的DAG可以包括三个任务:A,B,C。我们可以让B依赖于A,在A成功执行之后运行B,而C可以在任意时候运行。
需要注意的是,DAG本身并不关注A,B,C三个任务的具体内容,它关注的是三个任务的执行顺序以及依赖条件。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/650734.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号