首页 > 解决方案 > Airflow 中的调度和分区是如何工作的?

问题描述

我试图理解气流中调度和分区的概念。

调度

如果我们的 dag 的开始日期是过去的,并且当前日期超过一个预定的时间间隔,Airflow 将回填 dag 运行。在这个回填过程中,如果是,气流是否只考虑调度窗口中可用的数据,如何?如果不是,如果整个数据集多次用于 dag 执行,那么回填数据的理由是什么?

例如:我有一个数据集,其中包含 2021 年初(2021 年 1 月 1 日至 2021 年 10 月 1 日)的数据,现在我想对该数据集进行一些处理和转换,我决定制作一个包含必要任务的 DAG,然后我将其转为上。dag 的开始日期是 2021 年 1 月 1 日,计划窗口为 1 个月,因此到 2021 年 10 月 1 日有 10 次 dag 运行,现在在每次 DAG 运行中,它都遍历了整个数据集,而不是在那期间可用的数据特定月份的 dag 运行。所以问题是为什么 Airflow 在每次 dag 运行中使用整个数据集时需要回填 dag 运行?或者有没有一种方法可以确保在每次 dag 运行中读取一个特定的数据分区?如果是这样,气流分区数据如何,我们如何确保在 DAG 中使用这种分区?

感谢您的回答。

干杯,马尼坎塔

标签: pythonsqlairflowdirected-acyclic-graphs

解决方案


推荐阅读