Google bigquery 分区表上的BigQuery查询中异常大的处理量

Google bigquery 分区表上的BigQuery查询中异常大的处理量,google-bigquery,Google Bigquery,在时间戳分区表上运行BigQuery查询时,我刚刚注意到一些奇怪的处理大小行为。我们有一个每分钟一次的70个设备流式插入的表,因此大约70个插入/分钟或4200个插入/小时。展示一个小例子是描述问题的最简单方法。在GCP上的BigQuery UI中,如果我查询一天的数据: select * from dataset.table where DATE(time) = '2020-09-21'; 上面说 此查询在运行时将处理3.2 GB 但是,如果我查询7天的数据: select * from d

在时间戳分区表上运行BigQuery查询时,我刚刚注意到一些奇怪的处理大小行为。我们有一个每分钟一次的70个设备流式插入的表,因此大约70个插入/分钟或4200个插入/小时。展示一个小例子是描述问题的最简单方法。在GCP上的BigQuery UI中,如果我查询一天的数据:

select * from dataset.table where DATE(time) = '2020-09-21';
上面说

此查询在运行时将处理3.2 GB

但是,如果我查询7天的数据:

select * from dataset.table where DATE(time) >= '2020-09-15' and DATE(time) <= '2020-09-21';

select*from dataset.table where DATE(time)>='2020-09-15'和DATE(time)您在该表上也有集群字段吗?可能是个愚蠢的问题,但您确定您的表是在
time
字段而不是在
\u PARTITIONTIME
伪字段上分区的吗?听起来你的查询没有利用分区,所以我可以看出这是一个原因。@MikhailBerlyant没有集群,但我确实在谷歌的关于集群的文章中发现了一些有趣的东西。“在分区表中,数据存储在物理块中,每个物理块包含一个数据分区……这需要BigQuery维护比未分区表更多的元数据。随着分区数量的增加,元数据开销也会增加。”我们有近3年的数据,所以~1000个分区。@rtenha是的,它由我们的“时间”列进行分区,并在UI中进行验证。此外,处理的数据量随着查询天数的增加而增加。