ETL 呈现数据时没有计划间隔延迟,同时不会中断追赶
ETL present data without the schedule interval delay while not breaking the Catchup
我有一个需要在每周二和周五触发的 DAG(对于上下文,DAG 的目的基本上是每周仅在周二和周五发布两次的 ETL 数据)
这个 DAG 需要赶上过去。
我在许多运算符参数中使用 {{ execution_date }}(对于 API 调用参数,在用于保存原始数据副本的存储名称中,...)
Catchup 效果很好,我的问题是现在。
由于调度间隔,每个星期五它会ETL 上一个星期二的数据(使用execution_date 作为API 调用参数),每个星期二它会ETL 上一个星期五的数据。
我需要的是星期二 运行 获取本星期二而不是上星期五的数据。
我考虑使用 start_date 而不是 execution_date 进行 API 调用,但在这种情况下,Catchup 将无法按预期工作。
我没有找到任何漂亮的解决方案,其中 Catchup 运行良好并且当前数据在没有计划间隔延迟的情况下得到处理...
有什么想法吗?
编辑基于和独家答案:
最佳解决方案是使用 next_execution_date 而不是 execution_date
我有一个需要在每周二和周五触发的 DAG(对于上下文,DAG 的目的基本上是每周仅在周二和周五发布两次的 ETL 数据)
这个 DAG 需要赶上过去。
我在许多运算符参数中使用 {{ execution_date }}(对于 API 调用参数,在用于保存原始数据副本的存储名称中,...)
Catchup 效果很好,我的问题是现在。
由于调度间隔,每个星期五它会ETL 上一个星期二的数据(使用execution_date 作为API 调用参数),每个星期二它会ETL 上一个星期五的数据。
我需要的是星期二 运行 获取本星期二而不是上星期五的数据。
我考虑使用 start_date 而不是 execution_date 进行 API 调用,但在这种情况下,Catchup 将无法按预期工作。
我没有找到任何漂亮的解决方案,其中 Catchup 运行良好并且当前数据在没有计划间隔延迟的情况下得到处理...
有什么想法吗?
编辑基于和独家答案:
最佳解决方案是使用 next_execution_date 而不是 execution_date