BigQuery 中的 CREATE OR REPLACE 是不是有助于先前分区表的配额?

Posted

技术标签:

【中文标题】BigQuery 中的 CREATE OR REPLACE 是不是有助于先前分区表的配额?【英文标题】:Does CREATE OR REPLACE in BigQuery contribute towards a previous Partition Table's quota?BigQuery 中的 CREATE OR REPLACE 是否有助于先前分区表的配额? 【发布时间】:2021-01-26 21:00:18 【问题描述】:

我们有一个 BigQuery 查询,例如:

  create or replace table `project`.`dataset`.`table`
  partition by date

  select ...

如果我们在一天内多次运行此查询,我们会收到错误:

配额超出:您的表超出了分区数配额 对列分区表的修改。有关详细信息,请参阅 https://cloud.google.com/bigquery/troubleshooting-errors

我之前使用bq load --replace 加载了分区表,但不记得有类似错误 - 建议为新表重置配额。

这是如何工作的? create or replace 是否对该表名使用累积配额,但bq load --replace 会在每次运行时重置配额?

【问题讨论】:

是的,配额在表名上。在这种情况下,替换或重新创建将无济于事。 谢谢。 bq load --replace 【参考方案1】:

“CREATE OR REPLACE”的预期行为是否有助于先前/覆盖的分区表的“最大分区修改次数”配额?

每个表的配额与表名绑定。 'CREATE OR REPLACE' 不会更改表名,因此不会重置配额。

为什么a'bq load --replace'不影响分区表配额?

'bq load --replace' 也会消耗配额。 “加载”和“创建或替换”都可以将数据附加到多个分区。分区数计为partition modifications的个数。

【讨论】:

以上是关于BigQuery 中的 CREATE OR REPLACE 是不是有助于先前分区表的配额?的主要内容,如果未能解决你的问题,请参考以下文章

用户在项目 gdelt-bq 中没有 bigquery.jobs.create 权限

BigQuery 无法创建视图,但查询正常

BigQuery REPEATED 字段包含

BigQuery - DATE_TRUNC 错误

R到BigQuery数据上传错误

使用 Python 和 API 创建 Bigquery 分区表