Big Query 表分区计数限制

Posted

技术标签:

【中文标题】Big Query 表分区计数限制【英文标题】:Big Query table partitions count limit 【发布时间】:2021-04-21 09:37:30 【问题描述】:

我目前正在使用 Big Query,并且了解分区限制最多为 4,000 个。

有谁知道此限制是否仅适用于 Active Storage Tier 或两者都适用 Active & Long Term Storage Tier?

询问原因是因为我有一个分区表,按小时分区并且已经使用了 6 个月以上,但是当我们插入新数据时,我们没有收到任何错误提示分区限制超过 4,000。

我已经统计了下面的分区数量:

我们可以看到总分区是 6,401,我们仍然能够插入新数据。

同时我们还创建了一个新的分区表并尝试将数据移动到这个新创建的分区表中,但是我们遇到了一些错误,说我们已经超过了 4,000 的限制。

另外,我也尝试过增量插入数据,但还是报错如下:

重现错误的步骤:

    创建分区表(按小时分区) 开始按月从另一个表中移动数据

我的发现:

上述分区限制仅适用于活动存储层。

谁能帮忙确认一下?

【问题讨论】:

【参考方案1】:

据我了解,您不能在一项作业中修改超过 4000 个分区。您首先描述的工作应该是有效的,因为它们只修改了几个分区。 当您尝试一次移动超过 4000 个分区时,您将达到您所描述的限制。

我注意到我在 Active Storage 和 Long Term Storage 上都遇到了这个限制。这是 BigQuery 范围内的限制。

【讨论】:

如前所述,我按月移动数据,假设该月有 31 天并按小时分区,然后 31 天 * 24 小时 = 744 个分区,这意味着我不会一次插入超过 4000 个分区.

以上是关于Big Query 表分区计数限制的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Big Query 中查询 Firebase Analytics 事件表的多个分区

Big Query 中的表未分区

如何在 Big Query 的标准 SQL 中使用通配符为特定分区查询多个表

多个 Big Query 表或类似数据的单数表

如何用 Google Big Query Table 中的另一个分区重写一个分区?

我们可以像在 Hive 中一样在 Big Query 中创建动态分区吗?