我正在尝试创建动态dag,但似乎在此刻失败了。我碰到了用两种不同的方法创建DAG对象:
from airflow.models import DAG
https://airflow.apache.org/concepts.html#latest-run-only from airflow import DAG
https://airflow.apache.org/tutorial.html
这真的让我感到困惑,因为在同一文档中,有两种实例化DAG对象的方法。答案 0 :(得分:5)
两个都导入相同的DAG类。仅仅是python导入方式的一个属性。
当您执行from airflow.models import DAG
时,python会导入模型文件并将变量DAG分配给模型文件中定义的DAG类。
当您执行from airflow import DAG
时,python会导入init.py中定义的变量DAG,实际上它只是from airflow.models import DAG
。
最低版本为:
class DAG():
pass
from airflow.models import DAG
# import __init__.py which imports models.py which contains DAG
from airflow import DAG
# or this which just imports models.py which contains DAG
from airflow.models import DAG
所有这些,如果您的动态DAG失败了,我怀疑它与此导入有关