首页 > 解决方案 > 如何使用 Airflow 的 BigQuery 运算符引用外部 SQL 文件?

问题描述

我目前正在使用 Airflow 和 BigQuery 运算符来触发各种 SQL 脚本。当 SQL 直接写入 Airflow DAG 文件时,这可以正常工作。例如:

bigquery_transform = BigQueryOperator(
        task_id='bq-transform',
        bql='SELECT * FROM `example.table`',
        destination_dataset_table='example.destination'
    )

但是,我想将 SQL 存储在保存到存储桶的单独文件中。例如:

bql='gs://example_bucket/sample_script.sql'

调用此外部文件时,我收到“找不到模板”错误。

我已经看到一些示例将 SQL 文件加载到 Airflow DAG 文件夹中,但是,我真的很想访问保存到单独存储桶中的文件。这可能吗?

标签: google-bigquerygoogle-cloud-storageairflowgoogle-cloud-composer

解决方案


您还可以考虑使用gcs_to_gcs 运算符将所需存储桶中的内容复制到 composer 可访问的存储桶中。


推荐阅读