气流 execution_date 错误值

Airflow execution_date wrong value

我必须 运行 spark 作业,在那个 spark 作业中我们必须传递日期作为参数来读取当前目录。我正在使用 Airflow 来安排工作。以下是一些信息

start_date

import pendulum
local_tz = pendulum.timezone("Asia/Kolkata")
start_date': datetime(year=2020, month=8, day=3,tzinfo=local_tz)

schedule_interval

schedule_interval='20 0 * * *'

要传递给作业的值

{{ (execution_date + macros.timedelta(hours=5,minutes=30) - macros.timedelta(days=1)).strftime("%Y/%m/%d") }}

我们必须在前一天的午夜 运行 这项工作,但是这个表达式给我前天的日期。我添加了 5:30 因为我们的气流使用 UTC 时间。

任何人都可以解释一下这里发生的事情吗?

谢谢

执行日期定义如下

The execution time in Airflow is not the actual run time, but rather the start timestamp of its schedule period. For example, the execution time of the first DAG run is 2019–12–05 7:00:00, though it is executed on 2019–12–06.Dec 9, 2019

取自https://towardsdatascience.com/apache-airflow-tips-and-best-practices-ff64ce92ef8#:~:text=The%20execution%20time%20in%20Airflow,on%202019%E2%80%9312%E2%80%9306

您的值中不需要 macros.timedelta(days=1)).strftime("%Y/%m/%d")