气流的Bigquery作业失败,原因是为脚本设置了歧义

问题描述

我正在通过气流运行bigquery作业,如下所示

job = BigQueryOperator(
    task_id="job",use_legacy_sql=False,allow_large_results=True,write_disposition="WRITE_APPEND",create_disposition='CREATE_NEVER',...

不幸的是,我收到以下错误。我尝试删除create_disposition参数,将其设置为None,并将其余选项设置为https://cloud.google.com/bigquery/docs/reference/auditlogs/rest/Shared.Types/CreateDisposition。不幸的是,这些都不起作用。

BigQuery job Failed. Final error was: {'reason': 'invalid','message': 'configuration.query.createdisposition cannot be set for scripts'}

我的查询是:

DECLARE last_update TIMESTAMP;
SET last_update = (
    SELECT MAX(updated_at) AS from_date
    FROM sales
    WHERE updated_at >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(),INTERVAL '1' DAY)
);

SELECT *
FROM (SELECT * FROM sales WHERE sales.dt >= last_update)
JOIN (SELECT * FROM orders WHERE orders.dt >= last_update)
USING (dt)
...

由于last_update的高复用性,我希望使用此脚本来降低成本。该脚本可以在BigQuery控制台中完美运行,但不能在气流中运行。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...