回填AirFlow DAG以获取其他历史日期

时间:2019-02-28 11:39:09

标签: airflow google-cloud-composer

我有一个AirFlow DAG,它可以将数据从我的Google BigQuery数据库复制到另一个数据集中,并且工作正常。

我想复制所有现有表,但是我不小心将开始日期设置为一年,这太晚了,导致新数据集中没有一年的数据。为了解决此问题,我将开始日期设置为另一年,并手动触发了DAG,但是DAG并没有按预期重新填充表格-而是DAG处于“运行”状态。

default_args = {
    'owner': 'airflow',
    'depends_on_past': True,
    'start_date': datetime(2016, 9, 27),
    'end_date': datetime(2017, 9, 27),
    'email': ['xxx@xxx.com'],
    'email_on_failure': False,
    'email_on_retry': False,
    'retries': 5,
    'retry_delay': timedelta(minutes=2)

修改开始日期并收集未包含第一个开始日期的数据的正确过程是什么?

1 个答案:

答案 0 :(得分:2)

因此,每当需要修改start_date时,我们就将dag重命名以避免时髦的调度程序问题,因为我们发现它是最简单,破坏性最小的方法。

我知道我们不仅应该链接到其他页面,而且dag_id的重命名方法在第3点至最后一点中也提到了,但是它特别提到在更改< start_dateinterval都是如此,假设调度程序使用这两条信息来确定何时进行DagRun:

https://cwiki.apache.org/confluence/display/AIRFLOW/Common+Pitfalls

尽管如此,我们还是继续使用重命名方法,它对我们有用。