在 BigQuery 中使用表中的同一列进行分区和聚类

问题描述 投票:0回答:1

我正在转向由时间戳列分区的表,其值以毫秒为单位。现在我想按小时生成集群,这将取决于我用于分区的相同时间戳列。

我想使用同一列进行分区和集群,但我不确定这是否可以生成每小时集群。

我计划添加一个新列,其中仅包含与每条记录相关的小时,然后使用此列来创建我的聚集表,但我想更好地了解如果我使用与我使用的相同的时间戳列会发生什么用于分区。

google-bigquery partitioning
1个回答
0
投票

如果您的下游查询对数据进行任何类型的排序,那么您可能会从同一列上的集群中受益,因为分区只能在 BQ 中进行到小时粒度。

即,当您有 ORDER BY、QUALIFY 语句或任何对该列进行排序的窗口函数时,集群将会很有用。

请注意,集群会减慢插入速度,因此,如果您不需要将行排序到毫秒级别,您可以重现该列并将其四舍五入到分钟或小时,并在您希望优化查询时引用该列。

总而言之,取决于需求和下游查询。

© www.soinside.com 2019 - 2024. All rights reserved.