查询按分区字段分区的 BigQuery 表
Posted
技术标签:
【中文标题】查询按分区字段分区的 BigQuery 表【英文标题】:Query BigQuery table partitioned by Partitioning Field 【发布时间】:2018-03-15 09:54:03 【问题描述】:我们可以创建一个由Partitioning Field
分区的表。 Doc Reference here.
我创建了一个包含 2 个字段的表 visitors
:
当我查询表格时:
SELECT
*
FROM
mydataset.visitors
WHERE
part >= "2018-03-14 09:00:00"
AND part < "2018-03-15 18:00:00"
问题:
BigQuery 引擎是否足够智能,仅扫描 2018-03-14 和 2018-03-15 两个分区,然后找到满足小时范围的所有行? BigQUery 是否对所有分区进行全面扫描?谢谢
【问题讨论】:
分区表的重点在于 BigQuery 只需扫描 where 子句中引用的分区。您可以通过删除 where 子句轻松看到这一点,并且您会看到要处理的数据量增加(在 UI 中)。要回答你的问题,是的,它足够聪明 ;-) 谢谢,@GrahamPolley!这回答了我的问题:) @GrahamPolley 我可以请你发表评论作为答案吗? 好的,我会这样做的。看起来更像是评论;-) 【参考方案1】:分区表的重点在于 BigQuery 只需扫描 where 子句中引用的分区。您可以通过删除 where 子句轻松看到这一点,并且您会看到要处理的数据量增加(在 UI 中)。要回答你的问题,是的,它足够聪明;-)
【讨论】:
以上是关于查询按分区字段分区的 BigQuery 表的主要内容,如果未能解决你的问题,请参考以下文章
尚不支持 BigQuery、非分区表上的通配符表和基于字段的分区表