如何判断BigQuery查询是否执行分区修剪?相关信息在哪查看?
BigQuery查看分区修剪生效状态的方法
- 查询运行前看预估处理量
你在BigQuery控制台编辑器输入查询语句后无需运行,右上角会自动展示预估将处理的数据量。如果分区修剪生效,该数值会远小于分区表的总存储量;如果预估大小等于全表大小,说明分区修剪未生效。 - 查看已完成作业的「作业信息」标签
查询运行完成后,点击「执行详情」页下的作业信息子标签(不是默认的「查询计划」子标签),针对分区表会直接展示如下统计项:读取的分区数:X / 总分区数:Y
该数值可以直接确认修剪后的分区扫描范围,是最直观的判断依据。同时也可以对比「已处理字节数」和表总大小,辅助验证。 - 从
INFORMATION_SCHEMA元数据视图查询作业详情
你可以通过查询作业元数据获取更详细的修剪信息,示例语句如下,将区域和作业ID替换为你的实际值即可:SELECT job_id, total_bytes_processed, total_bytes_billed, JSON_EXTRACT_SCALAR(job_stages[0], '$.pruning_details.partitions_read') AS partitions_read, JSON_EXTRACT_SCALAR(job_stages[0], '$.pruning_details.total_partitions') AS total_partitions FROM `region-你的表所在区域`.INFORMATION_SCHEMA.JOBS_BY_USER WHERE job_id = '对应查询的作业ID' - 查看查询计划的READ阶段详细属性
你之前查看的是READ阶段的过滤条件,展开该阶段的完整详情,如果存在分区修剪已执行的相关标注,也可以确认修剪生效。你看到的过滤条件中1637971200.000000000就是'2021-11-27'对应的Unix时间戳,说明分区过滤条件已经下推到存储读取阶段,本身就是修剪生效的信号。
内容的提问来源于stack exchange,提问作者jamiet
相关产品推荐
相关产品推荐

