bigqueryoperator 气流上的 Bigquery 脚本
Posted
技术标签:
【中文标题】bigqueryoperator 气流上的 Bigquery 脚本【英文标题】:Bigquery Scripting on a bigqueryoperator airflow 【发布时间】:2020-12-18 16:45:48 【问题描述】:是否可以在气流 BigQueryOperator (airflow 1.10.12) 中执行 bigquery 脚本?有人能做到吗? 我尝试过这样的事情:
test = BigQueryOperator(
task_id='test',
sql="""DECLARE aaa STRING;
SET aaa = 'data';
CREATE OR REPLACE TABLE `project-id.dataset-id.TEST_DDL` as select aaa as TEST;""",
use_legacy_sql = False,
create_disposition=False,
write_disposition=False,
schema_update_options=False,
location='EU')
但我得到的只是“未找到:在 [3:9] 的美国位置未找到数据集”
【问题讨论】:
【参考方案1】:实际上我发现了这个问题,它与 bigqueryoperator 相关。实际上,在编写脚本时,在 bigquery 插入作业中有 ni 引用的表和目标表。在这种情况下,bigquery 默认将工作地点设置在美国。就我而言,因为我的数据集在欧盟,所以工作失败了。并且 bigqueryoperator 中有一个 location 参数,但是在作业的配置对象中,而不是在作业引用对象中,它被操作员错误地传递了。这使它毫无用处。该问题已在气流 2 中得到纠正。
【讨论】:
以上是关于bigqueryoperator 气流上的 Bigquery 脚本的主要内容,如果未能解决你的问题,请参考以下文章
如何在 BigQueryOperator 上参数化 write_disposition?
BigQueryOperator 可以运行多个 SQL 文件吗?