Airflow 开箱即用。一个出色的生态系统和社区,共同满足几乎所有(批量)数据管道的需求。

Austin Benett

遇到的问题?

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

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

依赖社区构建和已有的 Hooks 和 Operators 对接我们使用的大部分云服务,使我们能够专注于业务成果而非运维工作。

取得的成果?

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