要将bigquery查询与实际代码分开,我想将sql存储在单独的文件中,然后从python代码中读取它。我试图将文件添加到与DAG相同的存储桶中以及子文件夹中,但是当气流运行带有sql文件的python脚本时,我似乎无法读取该文件。
我想要的是:
gs://my-bucket/dags -> store dags
gs://my-bucket/dags/sql -> store sql files
sql文件可能是我需要首先读取的文件,用于注入jinja模板不支持的内容。
我能做到吗?
答案 0 :(得分:4)
Cloud Composer使用从gs://my-bucket
到/home/airflow/gcs/
的FUSE驱动程序挂载GCS存储桶。这意味着调度程序,Web服务器和gs://my-bucket/dags
的工作人员可以使用/home/airflow/gcs/dags
文件夹。
您的DAG应该能够从/home/airflow/gcs/dags/sql
目录中读取SQL文件。
注意:/home/airflow/gcs/data
目录可用于工作人员,但不适用于网络服务器。