首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bigquery DML操作

Bigquery DML操作
EN

Stack Overflow用户
提问于 2020-11-04 17:15:35
回答 1查看 142关注 0票数 0

我正尝试在单个分区表上执行5个并发更新查询。在5个分区中,3个来自同一个分区,2个来自不同的分区。在执行时,我预计3个查询中的一个将保持挂起状态(2个运行+1个挂起),另外2个将处于运行状态,因为它们属于不同的分区。但我观察到来自同一分区的2个查询处于运行状态,其余3个处于挂起状态。

是否就像两个查询同时处于运行状态,而其余的查询将处于挂起状态(排队),如果所有查询都属于同一个表,而不考虑分区?

EN

回答 1

Stack Overflow用户

发布于 2020-11-05 23:49:43

有关使用DML更新分区表数据的所有信息都可以在here中找到。

另外,看看DML中的limitations and concurrent jobs。如果在一个表上提交一个或多个变化的DML语句,而表上的其他变化的DML作业仍在运行(或挂起),则BigQuery将并发运行这些作业,最多可并发运行固定数量的变化的DML语句。如果达到并发数限制,BigQuery会自动将处于挂起状态的任何其他变化的DML作业排队。

DML有一些语句冲突:

在表上并发运行变异DML语句的

可能会失败,因为它们所做的更改存在冲突。BigQuery会重试这些失败。

将行插入到表中的INSERT DML语句不会与任何其他并发运行的DML语句冲突。

只包含INSERT子句而不包含UPDATE或DELETE子句的MERGE DML语句不会与任何其他并发运行的DML语句冲突。

只要MERGE语句不会导致现有行的更新或删除,带有UPDATE或DELETE子句的MERGE DML语句就不会与任何其他并发运行的DML语句冲突。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64677158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档