Google bigquery 从Google BigQuery中的select语句创建或更新表

Google bigquery 从Google BigQuery中的select语句创建或更新表,google-bigquery,Google Bigquery,通过使用带有变量的脚本来优化查询的数据处理,指定目标的功能丢失了 对问题答案中描述的解决方案进行建模时,会生成“configuration.query.writeDisposition无法为脚本设置”错误 如果需要将数据写入或覆盖到表中,有哪些选项可以解决此错误?这是必要的,以允许后处理和写入附加到另一个表以进行报告 下面给出了脚本 DECLARE start_date STRING; SET start_date = (SELECT MAX(date) FROM `my-project-123

通过使用带有变量的脚本来优化查询的数据处理,指定目标的功能丢失了

对问题答案中描述的解决方案进行建模时,会生成“configuration.query.writeDisposition无法为脚本设置”错误

如果需要将数据写入或覆盖到表中,有哪些选项可以解决此错误?这是必要的,以允许后处理和写入附加到另一个表以进行报告

下面给出了脚本

DECLARE start_date STRING;
SET start_date = (SELECT MAX(date) FROM `my-project-12345.dataset.my-data-table`);
CREATE OR REPLACE TABLE `my-project-12345.dataset.my-staging-table`
AS SELECT
  GA.date, 
  GA.field1, 
  hits.field2, 
  hits.field3
FROM 
  `my-project-12345.dataset.ga_sessions_*` AS GA, UNNEST(GA.hits) AS hits
WHERE 
  hits.type IN ('PAGE', 'EVENT')
  AND hits.field0 = 'some value'
  AND _TABLE_SUFFIX > start_date
  AND _TABLE_SUFFIX < '20201025' 

看起来控制台UI正在重用以前在“查询设置”面板中使用的目标设置

所以,看起来您需要确保禁用目标

为此,您需要确保您有任何简单的查询,而不是脚本,以便上述设置可见-进行必要的更改,不要忘记保存它们


完成此操作后,您的脚本将继续

我只是简单地测试了一下——它确实对我有用!!!很可能您在“查询设置”面板中设置了任何目的地?查询设置已添加到问题中。写入首选项设置为附加到表中,该选项在未注释脚本的情况下作为可设置参数不可见,但显示在下面。我想,这就是我引用的目的-所以请修复此问题以确保目标表未设置在那里!是的,我能够重现这个场景,所以看起来这些设置不会自动禁用,因为脚本最终会起作用。我最终删除了暂存表,注释掉脚本元素使其再次成为一个查询,编辑查询设置以删除其目标内存,运行创建或替换查询以创建暂存表,还原脚本元素,并将其作为脚本重新运行。我想知道是否也有可能最初将暂存表创建为目标,从而阻止了对其进行DDL更新。谢谢你的帮助。