气流:如何将DAG修改为回填?

时间:2019-08-27 04:28:59

标签: airflow

我有一个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,因为我无法访问终端。

1 个答案:

答案 0 :(得分:2)

我记得,更改dag_id时,您还需要更新dag_one_v2(例如,更新为start_date)。但是要小心,因为更新dag_id将导致丢失所有dag的元数据。因此,Airflow将重新执行自2019-07-01起的所有任务。您可能还需要添加某种检查,检查您的数据是否已被处理。