BigQuery 计划查询(脚本)循环:需要保存目标表,但由于设置了目标表,运行失败

Posted

技术标签:

【中文标题】BigQuery 计划查询(脚本)循环:需要保存目标表,但由于设置了目标表,运行失败【英文标题】:BigQuery Scheduled query (script) loop: needs destination table to be saved, but run fails because of set destination table 【发布时间】:2021-01-12 14:40:34 【问题描述】:

我有一个没有设置目标表的计划查询,因为它是在脚本中使用 create table 命令创建的(据我了解,这在 BQ 环境中称为脚本)。 我不得不稍微修改一下脚本——这并不影响创建部分,我想用修改后的版本更新现有的预定查询。

但是,如果我提供了目标表(否则更新按钮处于非活动状态),我只能更新计划查询:“需要目标表来保存计划查询选项。”。所以我通过定义一个“目标表”来保存它。

稍后运行计划查询时,出现以下错误:“无效值:无法为脚本设置 configuration.query.destinationTable;JobID:...”

对我来说,我似乎无法在没有目标表的情况下保存计划查询,也无法使用目标表运行它。

这似乎是第 22 条问题,我在这里遗漏了什么吗?如何更新和运行此脚本/预定查询?

谢谢!

【问题讨论】:

如果您在“预览 UI”,点击“SQL 工作区”页面顶部的“隐藏预览功能”按钮切换回常规 UI,可能会解决问题。跨度> @YunZhang 谢谢,这就是问题所在!我关闭了预览功能,虽然我仍然无法删除目标表,但我完全重新创建了时间表。 这也解决了我的问题。看来您无法使用新 UI 有效地安排 DML 脚本,因为调度程序需要一个目标表。 我现在遇到了如上所述的问题,尽管之前创建的 SQL 脚本被安排为没有目标表(在新 UI 中)。要切换到旧 UI,您现在必须选择“禁用编辑器选项卡” 【参考方案1】:

上面张云的评论是解决办法:

如果您在“预览 UI”上,请从“SQL 工作区”页面中单击 顶部按钮“隐藏预览功能”切换回常规 UI,它 可以解决问题。

目前,需要点击“禁用编辑器标签”才能切换回旧 UI。

就我而言,我遇到了与 OP 描述的相同的问题(脚本,不需要目标表,但需要创建计划查询)。关闭编辑器选项卡后,我无需输入目标表即可进行新的预定查询。

【讨论】:

以上是关于BigQuery 计划查询(脚本)循环:需要保存目标表,但由于设置了目标表,运行失败的主要内容,如果未能解决你的问题,请参考以下文章

有啥方法可以在 BigQuery 标准 SQL 脚本中遍历数据集中的所有表?

BigQuery 脚本 - 慢

BigQuery 中的相关计划 SQL 查询

在使用计划查询运行 BigQuery 作业之前处理多个条件

在 BigQuery Google Cloud 中获取我所有计划的 SQL 查询

如何计算查询bigquery的大小?