【问题标题】:how clustering works in BigQuery集群在 BigQuery 中的工作原理
【发布时间】:2019-09-17 03:22:45
【问题描述】:

我有一个表 UNITARCHIVE 按日期分区,并按 UNIT、DUID 进行集群。

表的总大小为 892 Mb。

当我尝试这个查询时

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

Bigquery 告诉我,它将处理 892 mb,我认为集群应该减少扫描的大小,我理解当我按日期过滤时,大小会显着减小,但我需要整个日期范围。 是故意设计的还是我做错了什么

【问题讨论】:

    标签: google-bigquery


    【解决方案1】:

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

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

    作为这种数据量的替代方案,不是按天分区,而是按年分区。然后,您将从每天少量数据的集群中获得最大收益。

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

    【讨论】:

    • 哈哈哈,所以基本上你是说,我有一张小桌子 :)
    • 不是小表——而是每天的少量数据
    • 我明白了:),期待BI Engine支持的时候会很开心:)
    猜你喜欢
    • 1970-01-01
    • 2017-06-26
    • 2015-10-17
    • 1970-01-01
    • 2023-02-14
    • 1970-01-01
    • 1970-01-01
    • 2014-12-27
    • 2018-12-05
    相关资源
    最近更新 更多