execution_date和backfill在airflow中的含义是什么

时间:2018-05-26 15:13:44

标签: airflow airflow-scheduler

我是气流新手,我正在尝试了解execution_date在气流环境中的含义。我已经从airflow的文档中读到了tutorial page,其中说明了

  

此上下文中指定的日期是execution_date,它模拟在特定日期+时间运行任务或dag的调度程序:

我尝试使用以下命令从教程中运行任务。

airflow test tutorial print_date 2015-06-01

我希望它能打印execution_date,但任务是在我的本地系统上打印实际日期。

[2018-05-26 20:36:13,880] {bash_operator.py:101} INFO - Sat May 26 20:36:13 IST 2018

我认为调度程序将在给定时间进行模拟。所以我在这里对execution_date param的理解感到困惑。任何人都可以帮我理解这个吗?感谢。

1 个答案:

答案 0 :(得分:1)

它在您的日志中打印当前时间,因为它实际上是在此时执行的。

执行日期是DAG运行参数。任务可以使用它来使日期引用与实际执行任务的时间不同。

示例:假设您有兴趣每天存储一次货币汇率。您希望自2010年以来获得费率。您的DAG中有一项任务是调用API,该API将返回一天的货币汇率。您可以创建一个开始日期为2010-01-01的DAG,其日程安排为每天一次。即使您现在创建它,在2018年,它将从开始日期开始每天运行,并且由于执行日期,您将获得正确的数据。