BigQuery中的群集工作原理

时间:2019-09-17 03:22:45

标签: google-bigquery

我有一个表UNITARCHIVE,该表按日期划分,并按UNIT,DUID聚集。

表892 Mb的总大小。

当我尝试此查询时

SELECT * FROM `test-187010.ReportingDataset.UNITARCHIVE` WHERE duid="RRSF1" and unit="DUNIT"

Bigquery告诉我,它将处理892 mb,我认为聚类应该减少扫描的大小,我知道我按日期过滤时,大小会大大减少,但我需要整个日期范围。 是设计使然还是我做错了事

1 个答案:

答案 0 :(得分:0)

要从群集中获得最大收益,每个分区都需要有一定数量的数据。

例如,如果群集的最小大小为100MB(由BigQuery内部确定),并且每天只有100MB数据,那么无论群集策略如何,查询100天将扫描100 * 100MB。

作为这种数据量的替代方法,不是按天分区,而是按年分区。这样一来,每天只需少量的数据就可以从群集中获得最大的好处。

请参阅Partition by week/year/month to get over the partition limit?以获取参考表,以证明这一点。