关于Apache Airflow的介绍

1,693 阅读3分钟

阅读时间: 3 分钟

它是数据工程中最受欢迎的开源工作流管理平台之一,用于管理任务及其工作流的自动化。Apache Airflow是用Python编写的,这使得它具有灵活性和健壮性。

什么是Apache Airflow?

Apache Airflow是一个强大的调度器,用于以编程方式编写、调度和监控工作流程。它是一个工作流引擎,可以轻松地调度和运行你的复杂数据管道。它将确保你的数据管道的每个任务将以正确的顺序执行。并确保每个任务得到所需的资源。

Airflow在行业中的应用:-

  • 大数据。
  • 机器学习。
  • 计算机软件。
  • 金融服务。
  • IT服务。
  • 银行业等。

Apache Airflow的特点。

  • 易用性你只需要一点python知识就可以理解。
  • 开源社区-Airflow是免费的,并且有一个庞大的活跃用户社区。
  • 集成--现成的操作符让你可以将Airflow与云平台(谷歌、AWS、Azure等)集成。
  • **用标准的Python编码--**你可以使用Python创建灵活的工作流,而无需了解其他技术或框架。
  • 图形用户界面--监控和管理工作流,检查正在进行和已经完成的任务的状态。

Airflow架构

  • DAG:它是有向无环图--你想运行的所有任务的集合,它被组织起来并显示不同任务之间的关系。
  • 调度器。顾名思义,这个组件负责调度DAG的执行。它检索并更新数据库中任务的状态。
  • 网络服务器。它是建立在Flask上的用户界面。它允许我们监控DAGs的状态并触发它们。
  • 元数据数据库。Airflow将所有任务的状态存储在数据库中,并从这里进行工作流的所有读/写操作。

什么是DAG?

DAG是定向无环图的缩写。顶点和边(连接节点的箭头)有一个顺序和方向与它们相关。DAG中的每个节点都对应着一个任务,而这个任务又代表着某种数据处理的方式。它是Apache中Airflow工具的核心。它被具体定义为一系列你想作为工作流的一部分而运行的任务。使用Airflow的主要目的是定义依赖关系和分配的任务之间的关系,这可能包括在实际执行之前加载数据。然而,DAG主要使用Python并保存为.py扩展名。

DAG定义了如何执行任务,但并不定义特定任务的内容。

一个DAG可以通过实例化一个对象来指定。airflow.models.dag.DAG

  • **DAG运行:**当一个DAG被执行时,它被称为DAG 运行。
  • 任务。任务是运算符的实例化,它们的复杂程度不同。
  • 操作者。虽然DAG定义了工作流程,但操作者定义了工作。
  • 钩子。钩子允许Airflow与第三方系统连接。
  • 关系。Airflow在定义任务间的复杂关系方面表现出色。

Apache Air flow的优点和缺点。

优点。

  • 可扩展的、动态的、优雅的和可扩展的。
  • 使用python来创建工作流。
  • 提供有用的用户界面。
  • 如果你知道Python,就很容易使用。
  • 提供大量的集成。
  • 开源的。

缺点。

  • 依赖于Python。
  • 漏洞。

结束语

在这篇文章中,我们已经看到了Apache Airflow和DAG的基本介绍。在接下来的文章中,我们将讨论更多关于实现DAG的内容。我们还将讨论定义任务,从第一步开始安装。