Airflow 编排最佳实践

Airflow orchestration best practices

我开始使用 Airflow 来安排我们公司的工作,我想知道它的最佳实践。

是否建议将我所有的任务放在一个 DAG 中?如果不是,一个Dag和多个Dag之间的右中间是什么?

我们预定的DAG执行收集、转换、导出和其他一些计算程序。所以我们会不断有新的任务要添加。

通常,一个 python 文件由一个具有多个任务的 DAG 组成。这是因为它是任务的逻辑分组。

如果您有多个具有依赖关系的 DAG,您可以在 DAG1 的末尾使用 TriggerDagRunOperator。如果 DAG1 中的所有任务都成功,这将触发 DAG2(单独的 DAG 文件)。

这方面的一个例子是:

DAG1: https://github.com/apache/incubator-airflow/blob/master/airflow/example_dags/example_trigger_controller_dag.py

DAG2: https://github.com/apache/incubator-airflow/blob/master/airflow/example_dags/example_trigger_target_dag.py