conda 上的气流 - 文件夹结构

Airflow on conda - folder structure

我在 conda 上安装了简单的 airflow - 我设法通过将它们放在路径中来创建自定义运算符:

airflow/dags/operators/custom_operator.py

然后从 dag 调用为:

from operators.custom_operator import CustomOperator

我怎样才能实现文件夹结构:

airflow/operators/custom_operator.py

将从 dag 中调用为:

from airflow.operators.custom_operator import CustomOperator

如果您认为这是一个糟糕的方法 - 请在您的 answer/comment 中指出,如果有更好的设计模式,我们很乐意调整我的方法.. .

有趣的是 - 这里的解决方案是在 airflow.cfg(你的气流配置文件)中将参数 dags_folder 向上移动一个目录 - 到 $AIRFLOW_HOME,而不是:

....
[core]
dags_folder = /home/user/airflow/dags
....

就这样吧:

....
[core]
dags_folder = /home/user/airflow
....

Airflow 显然会递归地寻找 dags,并且只捕获 类 定义为 dags...然后你可以保持干净的文件夹结构,在 [= 之外使用自定义运算符、实用函数、自定义传感器等15=]文件夹。