Airflow DAG补数时首次execution_date晚于起始日期问题咨询
问题原因解析
这是Airflow关于execution_date的核心设计逻辑导致的:
execution_date代表的是任务实例负责处理的数据周期的结束时间,而非任务的触发时间或数据周期的起始时间。- 任务会在对应的数据周期结束后,按照
schedule_interval指定的时间点触发执行。
结合你的场景具体说明:
你设置start_date=(2022,5,7)(即2022-05-07 00:00:00),并配置每日22:00执行。Airflow会将第一个完整的数据周期判定为2022-05-07 00:00:00 至 2022-05-08 00:00:00,对应的execution_date就是该周期的结束时间——2022-05-08 00:00:00,当你启动DAG并开启catchup时,首个执行的任务实例就会将这个日期传入你的C++脚本,呈现为20220508。
如果希望首个execution_date为20220507,你可以调整start_date为(2022,5,6),这样第一个数据周期就是2022-05-06 00:00:00至2022-05-07 00:00:00,对应的execution_date即为2022-05-07。
内容的提问来源于stack exchange,提问作者OVERTHETOP
相关产品推荐
相关产品推荐

