BigQuery 最大分区数达到 2000 而不是 2500
Posted
技术标签:
【中文标题】BigQuery 最大分区数达到 2000 而不是 2500【英文标题】:BigQuery max partitions topping out at 2000 instead of 2500 【发布时间】:2018-03-28 11:30:41 【问题描述】:根据BigQuery docs,分区表可以有2500个分区:
每个分区表的最大分区数 - 2,500
还是:
$ bq query --destination_table grey-sort-challenge:partitioning_magic.nyc_taxi_trips_partitioned --time_partitioning_field pickup_datetime --use_legacy_sql=false "select * from \`grey-sort-challenge.partitioning_magic.nyc_taxi_trips\`"
查询字符串出错:错误处理作业“grey-sort-challenge:bqjob_r37b076ef0d3c4338_000001626c539e6a_1”:查询产生的分区太多,允许 2000,查询产生至少 2372 个分区
是2000还是2500?
【问题讨论】:
我提交了a bug 以跟踪问题。 查看以下问题,了解如何通过按周/月/年进行分区来绕过此限制:***.com/a/56125049/132438 【参考方案1】:表中支持的最大分区数为 4000。 2000 是我们允许单个操作(在本例中为查询作业)生成的分区数。
配额和限制 - 分区表
每个分区表的最大分区数 - 4,000
单个作业修改的最大分区数 - 2,000
每个作业操作(查询或加载)最多可影响 2,000 个分区。任何影响超过 2000 个分区的查询或加载作业都会被 Google BigQuery 拒绝。
每个表每天的最大分区修改次数 - 5,000 对于分区表,您每天最多可以进行 5,000 次分区修改。可以使用追加或覆盖分区中的数据的操作来修改分区。修改分区的操作包括:加载作业、将结果写入分区的查询或修改分区中数据的 DML 语句(INSERT、DELETE、UPDATE 或 MERGE)。
一个作业可能会影响多个分区。例如,DML 语句可以更新多个分区中的数据(对于摄取时间表和分区表)。查询作业和加载作业也可以写入多个分区,但仅限于分区表。在确定作业消耗多少配额时,Google BigQuery 使用受作业影响的分区数。流式插入不会影响此配额。
最大分区操作率 - 每 10 秒 50 次分区操作
【讨论】:
这太严格了。想象一下,我有一个包含 10 年数据的标准表,我想对它进行分区!有了这些限制,我不得不把它分成两个 5 年的表格。 是否有任何不涉及对原始表进行切片和切块的解决方法? 单桌 2500 人的限制是我们正在积极寻求全面提高的限制。目前,我们是根据需要做的,如果您能提供项目编号,我们很乐意为您的项目做。 今天已增加到 4000。cloud.google.com/bigquery/quotas#partitioned_tables 查看以下问题以了解如何通过按周/月/年进行分区来绕过此限制:***.com/a/56125049/132438以上是关于BigQuery 最大分区数达到 2000 而不是 2500的主要内容,如果未能解决你的问题,请参考以下文章
Bigquery:分区数据超过 2000 限制(更新:现在 4000 限制)[重复]