Airflow 除了“每月”的工作,气流是否有类似“昨天”/“明天”?
我有一个作业,它使用Airflow 除了“每月”的工作,气流是否有类似“昨天”/“明天”?,airflow,airflow-scheduler,Airflow,Airflow Scheduler,我有一个作业,它使用ds变量来协调它处理的工作量,并计划每天使用@daily运行 select * from events where date = '{{ ds }}'; 但是,我想写一个新版本,它是@monthly。我不需要做太多更改,但我需要访问下一次运行的日期戳,以便干净地将其移植过来 select * from events where date >= '{{ ds }}' and date < '{{ macros.ds_add(ds, 32) }}'; 我该如何实现
ds
变量来协调它处理的工作量,并计划每天使用@daily
运行
select * from events
where date = '{{ ds }}';
但是,我想写一个新版本,它是@monthly
。我不需要做太多更改,但我需要访问下一次运行的日期戳,以便干净地将其移植过来
select * from events
where
date >= '{{ ds }}'
and
date < '{{ macros.ds_add(ds, 32) }}';
我该如何实现这一点呢?如果您运行的是最新版本的Airflow,并且您将计划的间隔设置为@monthly,那么我认为
{{prev\u execution\u date}}
和{next\u execution\u date}
就是您要寻找的。你可以看到所有的宏如果你正在运行一个最新版本的Airflow,并且你将你的日程安排的时间间隔设置为@monthly,那么我认为{{prev\u execution\u date}}
和{next\u execution\u date}
就是你想要的。您可以看到所有宏如果您运行的是@monthyl
计划间隔,则可以使用{{prev\u execution\u date}}
以及{next\u execution\u date}}
如果不这样做,您可能希望通过插件系统开发自定义宏。这些宏将使您能够开发一个函数,并将其传递到一个模板中,该模板满足您的确切需求,而无需考虑时间间隔。您可以使用现有的宏作为指导。如果您运行的是
@monthyl
计划间隔,则可以使用{{prev\u execution\u date}}
以及{next\u execution\u date}
如果不这样做,您可能希望通过插件系统开发自定义宏。这些宏将使您能够开发一个函数,并将其传递到一个模板中,该模板满足您的确切需求,而无需考虑时间间隔。您可以使用现有的宏作为指导。太棒了!看起来它是在1.8.0之后添加的,太棒了!看起来它是在1.8.0之后添加的
select * from events
where
date >= '{{ ds }}'
and
date < '{{ next_month }}';