gpt4 book ai didi

Airflow - 将 DAG 定义拆分为多个文件

转载 作者:行者123 更新时间:2023-12-02 05:14:44 24 4
gpt4 key购买 nike

刚刚开始使用 Airflow,想知道构建大型 DAG 的最佳实践是什么。对于我们的 ETL,我们有很多属于逻辑分组的任务,但这些组是相互依赖的。以下哪项被视为最佳实践?

  • 一个大型 DAG 文件,其中包含该文件中的所有任务
  • 将 DAG 定义拆分为多个文件(如何执行此操作?)
  • 定义多个 DAG,每组任务一个,并使用ExternalTask​​Sensor 设置它们之间的依赖关系

也欢迎其他建议。

最佳答案

DAG 只是 python 文件。因此,您可以将单个 dag 定义拆分为多个文件。不同的文件应该只具有接受 dag 对象并使用该 dag 对象创建任务的方法。

但请注意,您应该在全局范围内只使用一个 dag 对象。 Airflow 将全局范围内的所有 dag 对象作为单独的 dags 选取。

通常认为保持每个 dag 尽可能简洁是很好的做法。但是,如果您需要设置此类依赖项,您可以考虑使用 subdags。更多相关信息请参见:https://airflow.incubator.apache.org/concepts.html?highlight=subdag#scope

您还可以使用ExternalTask​​Sensor,但请注意,随着 dags 数量的增长,处理任务之间的外部依赖关系可能会变得更加困难。我认为子标签可能是适合您的用例的方法。

关于Airflow - 将 DAG 定义拆分为多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41493605/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com