airflow - Airflow 和 Cloud Composer 中的最大 DAG 数量
问题描述
可以在 1 Airflow 或 Cloud Composer 环境中运行的 DAG 是否有最大数量?
如果这取决于几个因素(Airflow 基础架构配置、Composer 集群规范、每个 DAG 的活动运行次数等),那么影响这一点的所有因素是什么?
解决方案
我从Composer 文档中发现 Composer 使用CeleryExecutor
并在 Google Kubernetes Engine (GKE) 上运行它。
Airflow 中的最大 dag 数量没有限制,它是可用资源(节点、CPU、内存)的函数,然后假设有可用资源,Airflow 配置选项只是一个限制设置,将成为瓶颈并且必须修改。
此处提供了有关如何在 Cloud Composer 中执行此操作的有用指南 。因此,一旦您在底层 GKE 集群中启用了自动缩放,并解锁了 Airflow 配置中指定的硬限制,那么最大任务数应该没有限制。
对于 vanilla Airflow,它将取决于您在 Airflow 中使用的执行器,如果您使用KubernetesExecutor
然后在 K8s 中处理自动缩放,则将更容易扩展。
如果您正在使用,LocalExecutor
则可以通过增加分配给 Airflow 安装的资源(CPU、内存)来改善性能。
推荐阅读
- python - 在 Python 中运行 pdoc 时如何解决 ModuleNotFoundError?
- jquery - 如何在 Angular 的打字稿文件中使用 raty.js?
- python - 如何将 Scipy 的 `csr_matrix` 转换为 Tensorflow 的 `SparseTensor`?
- reactjs - 如何将从 API 获取的数据作为道具传递给其路由在 React JS 的另一个页面中定义的组件?
- google-sheets - 谷歌表键
- python - 如何在 python 中使用 dtypes 创建饼图
- swift - 在任何 iOS 设备的 Swift 包构建中:在范围内找不到类型“EdgeInsets”
- angular - Angular i18n - 路由到区域设置客户端 - 部署颠覆的 Angular index.html
- javascript - Javascipt copyFile 抛出错误并继续
- javascript - 从 Angular 中的 API 加载 json 数据的问题