1
我爲不同的python項目設置了不同的氣流檔案,即一個父級dags文件夾/vol/dags
與基於不同python項目的DAG的子文件夾:/vol/dags/project1/project1.py, /vol/dags/project2/project2.py
其中DAGS_FOLDER = /vol/dags
。如何在氣流中設置多個Dag目錄
project1.py
例如從同一個目錄中的另一個python文件導入一個函數,即/vol/dags/project1/mycalculator.py
。但是,當我開始氣流的Web服務器,我得到一個ImportError
:
/vol/dags/project1/$ airflow webserver -p 8080
INFO - Filling up the DagBag from /vol/dags/
ERROR - Failed to import: /vol/dags/project1/project1.py
Traceback (most recent call last):
File "/Users/xxx/anaconda/lib/python2.7/site-packages/airflow/models.py", line 247, in process_file
m = imp.load_source(mod_name, filepath)
File "/vol/dags/project1/project1.py", line 10, in <module>
from mycalculator import *
ImportError: No module named mycalculator
我試圖導入mycalculator.py
到project1.py
這樣的:
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from airflow.operators import PythonOperator
from datetime import datetime, timedelta
from mycalculator import *
dag = DAG(
dag_id='project1', default_args=args,
schedule_interval="@once")
當你編譯蟒蛇你得到一個進口錯誤? – Dotan
我有同樣的問題。但DAG實際上仍在運行,儘管Airflow將其標記爲「損壞」,並且在打開代碼查看器時Web服務器不會爆炸。 – jastang