Airflow 功能齐全。它拥有一个庞大的生态系统和社区,可以共同解决几乎所有(批处理)数据管道的需求。

Austin Benett

问题是什么?

我们面临着管理冗长 crontab 的复杂性日益增加,调度成为一个问题。这需要仔细计划时间,因为存在资源限制、使用模式,尤其是重试逻辑所需的自定义代码。在后一种情况下,必须在运行下一个作业之前验证上一个作业和/或步骤是否成功。此外,结果的及时性很重要,但我们越来越依赖缓冲进行处理,这导致事情实际上处于空闲状态而没有进行处理,只是等待下一个阶段,目的是减少对自定义代码/逻辑的依赖。

Apache Airflow 如何帮助解决这个问题?

依靠社区构建和现有的钩子和运算符连接我们使用的大部分云服务,这使我们能够专注于业务成果,而不是运营。

结果是什么?

Airflow 帮助我们管理许多痛点,让我们能够受益于整体生态系统和社区。通过在我们处理流程中实现事件驱动(例如,在我们的首次使用中,我们能够平均减少各个阶段之间 2 个多小时的等待时间),我们能够缩短数据产品的最终交付时间。此外,由于不需要太多自定义或自研解决方案,我们能够更快地开发和迭代产品。我们的代码库更小、更简单、更容易理解,而且在很大程度上,我们的 DAG 可以作为新贡献者理解正在发生的事情的充分文档。