首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Apache Airflow 开源最顶级的分布式工作流平台

背景介绍

Apache Airflow(或简称Airflow)是一个以编程方式创作,计划和监视工作流的平台。

当工作流定义为代码时,它们将变得更加可维护、可版本控制、可测试和协作。

使用 Airflow 将工作流创作为任务的有向无环图 (DAG)。Airflow 调度程序在遵循指定的依赖项的同时,在一组工作线程上执行您的任务。丰富的命令行实用程序使在 DAG 上执行复杂的手术变得轻而易举。丰富的用户界面使您可以轻松可视化生产中运行的管道、监视进度并在需要时解决问题。

Airflow最适合大多数静态且缓慢变化的工作流程。当 DAG 结构在一次运行到下一次运行之间相似时,它会阐明工作单元和连续性。其他类似的项目包括Luigi,Oozie和Azkaban。

Airflow 通常用于处理数据,但认为理想情况下任务应该是幂等的(即任务的结果将是相同的,并且不会在目标系统中创建重复的数据),并且不应将大量数据从一个任务传递到下一个任务(尽管任务可以使用 Airflow 的 XCom 功能传递元数据)。对于高容量、数据密集型任务,最佳做法是委派给专门从事此类工作的外部服务。

Airflow 不是流解决方案,但它通常用于处理实时数据,从流中批量提取数据。

使用原则:

动态:气流管道是配置即代码(Python),允许动态管道生成。这允许编写动态实例化管道的代码。

可扩展:轻松定义您自己的运算符、执行器并扩展库,使其适合适合您的环境的抽象级别。

优雅:气流管道精简而明确。参数化脚本是使用强大的 Jinja 模板引擎内置到 Airflow 的核心中。

可扩展:Airflow 具有模块化架构,并使用消息队列来编排任意数量的工作线程。

实战总结

DAG:环境中所有 DAG 的概述。

网格:跨越时间的 DAG 的网格表示形式。

图形:特定运行的 DAG 依赖项及其当前状态的可视化效果。

任务持续时间:一段时间内在不同任务上花费的总时间。

甘特图:DAG 的持续时间和重叠。

代码:查看 DAG 源代码的快速方法。

使用总结

Airflow是一个可编程,调度和监控的工作流平台,基于有向无环图(DAG),airflow可以定义一组有依赖的任务,按照依赖依次执行。airflow提供了丰富的命令行工具用于系统管控,而其web管理界面同样也可以方便的管控调度任务,并且对任务运行状态进行实时监控,方便了系统的运维和管理。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OFouaqu1Q01X1s5bwLaYIh7A0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券
http://www.vxiaotou.com