Google bigquery 如何在BigQuery中安排脚本?

Google bigquery 如何在BigQuery中安排脚本?,google-bigquery,Google Bigquery,最后BigQuery支持使用;在查询中,如果我用分号分隔它们,那么我可以在一个“块”中编写多个查询。 如果我手动运行代码,它就会工作。但我不能安排 当我想安排时,我有两个选择: (新)Web UI:我必须给出一个目标表。如果我不这样做,我就无法保存计划查询。但我所有的查询都是使用不同的“目标表”进行的更新和插入。例如: 更新project.exampledataset.a 设置日期=当前日期() 如果是真的 ; 插入到project.otherdataset.b 选择c,d 从project.o

最后BigQuery支持使用;在查询中,如果我用分号分隔它们,那么我可以在一个“块”中编写多个查询。 如果我手动运行代码,它就会工作。但我不能安排

当我想安排时,我有两个选择:

  • (新)Web UI:我必须给出一个目标表。如果我不这样做,我就无法保存计划查询。但我所有的查询都是使用不同的“目标表”进行的更新和插入。例如:
  • 更新
    project.exampledataset.a
    设置日期=当前日期() 如果是真的 ;

    插入到
    project.otherdataset.b
    选择c,d 从
    project.otherdataset.c

    因此,我甚至无法在Web UI中进行调度

  • 经典用户界面:我尝试过这个,因为官方纪录片规定,我应该将“目的地表”留空,而经典用户界面允许这样做。我可以设置调度,但它不会在应该运行的时候运行。我在电子邮件中收到错误消息“错误状态:查询(“”)中指定的数据集与目标数据集“exampledataset”不一致。”
  • AIK脚本(并使用分号)是BigQuery中的一个非常新的功能,但我希望有人能帮助我。
    是的,我知道我可以一个接一个地安排每个查询,但我想用一个大脚本来解决它。

    现在在计划查询中支持脚本。但是,在计划脚本查询时,目前不支持设置目标表。您仍然需要使用DDL/DML对现有表进行更改

    例如:

    创建或替换表destinationTable作为
    挑选*
    从sourceTable
    其中日期>=maxDate
    
    看起来计划查询是在前面使用附加/截断类型事务定义的目标数据集定义的。在将同一计划查询更新为DML查询时,GUI不会显示要更新为NULL的数据集字段/表名。因此,考虑到计划查询中先前设置的数据集和表名,会出现此错误


    因此,修复方法是删除计划查询,并使用DML查询选项从头开始创建它。这对我很有效。

    这是一个bug。问题解决后请班长通知我,我知道了,谢谢云!