作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用 virtualenv。我正在尝试使用 DAG 文件夹中的包。 airflow_home
目录的当前状态是:
airflow_home/airflow.cfg
airflow_home/airflow.db
airflow_home/dags/__init__.py
airflow_home/dags/hello_world.py
airflow_home/dags/support/inner.py
airflow_home/dags/support/__init__.py
hello_world.py 有代码:
from datetime import datetime
from airflow import DAG
from airflow.operators.dummy_operator import DummyOperator
from airflow.operators.python_operator import PythonOperator
from dags.support import inner
def print_hello():
return 'Hello world'
dag = DAG('hello_world', description='simple tutorial DAG',
schedule_interval='0 12 * * *', start_date=datetime(2017, 8, 20), catchup=False)
dummy_operator = DummyOperator(task_id='dummy_task', retries=3, dag=dag)
hello_operator = PythonOperator(task_id='hello_task', python_callable=print_hello, dag=dag)
hello_from_inner_operator = PythonOperator(task_id='hello_from_inner', python_callable=inner.hello_from_inner, dag=dag)
dummy_operator >> hello_operator
hello_operator >> hello_from_inner_operator
如果我可以手动运行这个脚本,它就会运行。但随后我启动 Airflow 调度程序,
Broken DAG: No module named 'dags'
出现错误。我做错了什么,解决这个问题的方法是什么?
最佳答案
改用from support import inner
。
路径 $AIRFLOW_HOME/dags
将在 Airflow 启动时添加到 sys.path
中。因此它将在 dags
目录下搜索模块。
关于python - Airflow 没有以 airflow_home 目录中的目录命名的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45780784/
I am executing dbt cli commands using Airflow(using dbt.cli.main from dbt documentation) in my ai
我正在使用 virtualenv。我正在尝试使用 DAG 文件夹中的包。 airflow_home 目录的当前状态是: airflow_home/airflow.cfg airflow_home/ai
我是一名优秀的程序员,十分优秀!