我有一个DAG已经运行了一段时间。现在,我可以使用更多的旧数据,并希望回填。
我更改了参数:
default_args = {
'owner': 'drum',
'depends_on_past': False,
'start_date': datetime(2019, 7, 1),
'retries': 2,
'retry_delay': timedelta(minutes=5)
}
dag = DAG(
dag_id='dag_one',
catchup=False,
default_args=default_args,
schedule_interval='@weekly',
max_active_runs=1
)
收件人:
default_args = {
'owner': 'drum',
'depends_on_past': False,
'start_date': datetime(2018, 1, 1), ### Update
'retries': 2,
'retry_delay': timedelta(minutes=5)
}
dag = DAG(
dag_id='dag_one',
catchup=True, ### Update
default_args=default_args,
schedule_interval='@weekly',
max_active_runs=1
)
但是,这不会触发回填。我明确使用了GUI,因为我无法访问终端。
答案 0 :(得分:2)
我记得,更改dag_id
时,您还需要更新dag_one_v2
(例如,更新为start_date
)。但是要小心,因为更新dag_id
将导致丢失所有dag的元数据。因此,Airflow将重新执行自2019-07-01起的所有任务。您可能还需要添加某种检查,检查您的数据是否已被处理。