BQ项目中表数的硬性限制

Hard limit on number of tables in a BQ project

我有一些高度可分区的数据,我想将其存储在 BigQuery 中,其中每个分区都会有自己的 table。我的问题是 BQ 是否支持我需要的 table 数量。

使用我的数据集,我每天会创建大约 2,000 个新的 table。所有 tables 都会有 390 天(13 个月)到期,所以最终会有一个恒定的计数 ~ 2,000 tables * 390 天 = ~780,000 tables特定项目。

我会自己测试一下,但 BQ 仅支持每个项目每天 max of 10,000 加载作业。

有人有过这种 table 计数的经验吗? Google 是否有官方的 table 限制?

BigQuery 中的大多数限制都可以提高,只要您正确使用 BigQuery - 限制是为了防止滥用和误用。

这里有一个关键问题 - 每个 table 将处理多少数据?拥有 780,000 table 个 10 行不是一个好主意。

每个查询要处理多少 table?每个查询有 1,000 table 秒的硬性限制。

如果您有需要更高限制的有趣用例,获得支持合同和他们的建议是提高默认限制的最佳方式。

https://cloud.google.com/support/

今天有项目具有如此数量的不同 table。目前对不同 table 的数量没有硬性限制。

当您考虑使用那么多 table 的表示时,会想到一些相关的注意事项:

  • 一个查询(包括引用的视图)目前只能reference 1000 tables

  • 具有大量 table 的数据集在使用 table wildcard 函数时可能会出现问题。

  • 您可能过度分片了。您可能只想使用更广泛的架构和更少的 table,而不是大量的单个 table。

  • 如果您严重依赖时间间隔作为分片考虑因素,您可能还希望将 table decorators 视为一种限制数据扫描范围的方法。

  • 您可能还希望随着时间的推移将数据折叠成更少、更大的 tables,因为它们会老化并且访问频率较低。例如,copy jobs 可以将多个源 table 附加到单个目标 table。