如果输入数据发生变化,如何重新运行 Airflow 作业

How to rerun Airflow job if there has been a change in input data

情况:

任务:

我知道 Apache Falcon 支持这样的要求。但我想知道 Airflow 是否支持它。

当然可以。 Airflow在这方面大放异彩。

Airflow 有一个“回填”命令,可用于此目的。

Airflow 的所有任务都应该以“幂等”的方式设计(因此您可以在给定的时间间隔内重新运行它们,它们基本上应该替换之前的数据 运行相同数据区间)。

Backfill 目前只能使用 CLI 来使用(也有关于将其引入 UI 的讨论)。

https://airflow.apache.org/docs/apache-airflow/stable/cli-and-env-variables-ref.html#backfill

它的好处是它还会自动触发所有后续的相关任务,因此 Airflow 会完成所有繁重的工作以确定需要重新 运行 以防您决定回填一些数据间隔的一项任务 - 它将重新运行之后的所有相关任务对于这些间隔也是如此。