如何定义将每月工作与日常工作一起调度的DAG?

时间:2019-07-19 01:46:21

标签: python airflow

我必须每月更新一个表Foo,然后每天更新另一个表Bar,然后每天将这两个表连接起来,然后将结果插入第三个表Bazz

是否可以配置Foo在某天(例如5日)进行更新,而Bar每天在同一DAG中进行更新?

1 个答案:

答案 0 :(得分:2)

可以使用以下任一替代方法在单个DAG中实现此行为

基本上,您的DAG仍将每天运行(schedule_interval='@daily'),但

  • 每天,只有您的Bar任务会运行,而Foo会被跳过(或短路);
  • 直到某个特定日期(例如每月的5号)都可以运行。

您当然也可以将它们建模为单独的DAG和chain them together(而不是单个DAG中的单个任务)。这种选择might be better直到链接在一起的DAG数量很小为止。