Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ApacheAirflow-1.10-如何在运行时访问SQL文件_Airflow_Airflow Operator - Fatal编程技术网

ApacheAirflow-1.10-如何在运行时访问SQL文件

ApacheAirflow-1.10-如何在运行时访问SQL文件,airflow,airflow-operator,Airflow,Airflow Operator,TL;DR如何使dag中的任务可以访问资产(SQL文件、文本文件) 大家好 我正在运行单节点气流安装(1.10.12)。我有一个使用SQL语句的dag。为了可读性,我希望将这些语句保存在它们自己的SQL文件中。所以我的项目看起来是这样的: MyProject - airflow_ftp_DAG.py - airflow_ftp_assets (directory) - WEX_HH_Upsert_SQL.sql 当我的dag运行时,它会抱怨找不到SQL文件。这是因为

TL;DR如何使dag中的任务可以访问资产(SQL文件、文本文件)

大家好

我正在运行单节点气流安装(1.10.12)。我有一个使用SQL语句的dag。为了可读性,我希望将这些语句保存在它们自己的SQL文件中。所以我的项目看起来是这样的:

  MyProject
   - airflow_ftp_DAG.py
   - airflow_ftp_assets (directory)
      - WEX_HH_Upsert_SQL.sql
当我的dag运行时,它会抱怨找不到SQL文件。这是因为dag在不同的文件夹中运行其任务(如运行
os.getcwd()

如何使我的SQL文件可以被我的任务引用

def insert_hh_records(**kwargs):
    key = 'WEX_FILETYPE_HH'
    collated_data_file_path = kwargs['ti'].xcom_pull(key=key)

    sql_path = "airflow_wex_ftp_assets/WEX_HH_Upsert_SQL.sql"
    sql_string = ''

    <!---  Error below --->

    with open(sql_path,"r") as f:
        sql_string = f.read()
def insert_hh_记录(**kwargs):
key='WEX\u文件类型\u HH'
已整理的数据文件路径=kwargs['ti'].xcom\u pull(key=key)
sql\u path=“airflow\u wex\u ftp\u assets/wex\u HH\u Upsert\u sql.sql”
sql_字符串=“”
将open(sql_路径,“r”)作为f:
sql_string=f.read()

非常感谢您的帮助

我正在将我的Dag文件作为zip文件上传到我的Dag文件夹中。在这个过程中的某个地方,它解压缩了它们,但没有保留SQL资产文件。一旦我停止压缩,问题就消失了。

我正在将我的Dag文件作为压缩文件上传到我的Dag文件夹中。在这个过程中的某个地方,它解压缩了它们,但没有保留SQL资产文件。一旦我停止拉拉链,问题就消失了