Я пытаюсь получить доступ к внешним файлам в Airflow Task, чтобы прочитать некоторый sql, и получаю «файл не найден». Кто-нибудь сталкивался с этим?
from airflow import DAG
from airflow.operators.python_operator import PythonOperator
from datetime import datetime, timedelta
dag = DAG(
'my_dat',
start_date=datetime(2017, 1, 1),
catchup=False,
schedule_interval=timedelta(days=1)
)
def run_query():
# read the query
query = open('sql/queryfile.sql')
# run the query
execute(query)
tas = PythonOperator(
task_id='run_query', dag=dag, python_callable=run_query)
В журнале указано следующее:
IOError: [Errno 2] No such file or directory: 'sql/queryfile.sql'
Я понимаю, что могу просто скопировать и вставить запрос в один и тот же файл, это действительно не изящное решение. Есть несколько запросов, и текст действительно большой, встраивание его в код Python ухудшит читаемость.