Google bigquery 大查询原子性

Google bigquery 大查询原子性,google-bigquery,Google Bigquery,作为ETL的一部分,我尝试每天在大查询中对一个表进行完整的加载。目标表具有integer类型的虚拟分区列,并且是集群的。我希望语句是原子的,即它将完全覆盖新数据,或者在中间由于任何原因出现故障时回滚到旧数据,并且它将使用旧数据为用户查询服务,直到完全覆盖为止 一种方法是删除和插入,但大查询不支持多语句事务 我想用下面的陈述。请告诉我这是不是原子弹 create or replace table_1 partition by dummy_int cluster dummy_column as se

作为ETL的一部分,我尝试每天在大查询中对一个表进行完整的加载。目标表具有integer类型的虚拟分区列,并且是集群的。我希望语句是原子的,即它将完全覆盖新数据,或者在中间由于任何原因出现故障时回滚到旧数据,并且它将使用旧数据为用户查询服务,直到完全覆盖为止

一种方法是删除和插入,但大查询不支持多语句事务

我想用下面的陈述。请告诉我这是不是原子弹

create or replace table_1 partition by dummy_int cluster dummy_column
as select col1,col2,col3 from stage_table1

既然要执行插入和删除操作,您是否想过使用MERGE语句?它结合了插入、更新和删除,它们是原子操作。你可以看到,这里有两件事。我想对同一个match子句执行delete和insert操作,但不确定是否支持该操作。2.Merge将执行一行一行的操作,我认为这会很慢。如果在标准SQL中有insert覆盖,它就会解决我的问题。相反,我正在尝试创建或替换。如果您想删除然后插入,我相信您可以在条件匹配时使用更新方法。以下是文档的详细信息,请告诉我是否适合您的情况,以便我可以为您提供查询语法。