你们有什么推荐的 Composer 文件夹/目录结构吗?它的结构方式应该与我们内部 Airflow 服务器现在使用的方式不同。
基于谷歌文档:https://cloud.google.com/composer/docs/concepts/cloud-storage :
plugins/
:存放你自定义的插件、操作符、钩子(Hook)dags/
:存储 dags 和 web 服务器解析 dag 所需的任何数据。data/
:存放任务产生和使用的数据。
我之前遇到过问题,当我将 key.json 文件放在 data/
文件夹中时,无法使用 data/
文件夹中的 key 解析 dags。所以现在我倾向于将所有支持文件放在dags/
文件夹中。
如果我将支持的 dag 文件(sql、键、模式)放在 dags/
文件夹中,调度程序的性能是否会受到影响?是否有使用 data/
文件夹的好用例?
如果你们可以向我展示一个示例,说明如何构建 composer 文件夹以支持具有不同 dag、插件和支持文件的多个项目,这将很有帮助。
目前,整个 Airflow 文件夹只有 1 个 Github。每个项目有一个单独的 git 更好吗?
谢谢!
最佳答案
只要您放置在 dags 文件夹中的文件不是 .py
文件,对调度程序的影响应该相当小;但是,您也可以将文件放在同样通过复制同步的插件文件夹中。
我会使用顶级文件夹来分隔项目(例如 dags/projectA/dagA.py
),如果项目足够大,甚至可以分隔环境。
关于Airflow/Composer 推荐的文件夹结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52524038/