如何判断HQL过滤条件中分区剪裁是否生效

适用模块

自助分析

具体说明

一般情况下,HQL语句中直接对分区进行等于、in、大于等于等操作均会按照分区剪裁执行,当过滤条件中存在函数时,函数返回值类型与分区键不一致可能会导致全表扫描;
针对具体HQL是否执行了分区剪裁,可通过执行计划查看

使用示例

Explain  HQL

STAGE DEPENDENCIES:

Stage-0 is a root stage

STAGE PLANS:

……
TableScan

Filter Operator

predicate: ((sub_project = '猛犸') and (issue_type = '咨询')) (type: boolean)

……
当执行计划中TableScan后面出现predicate后语句中出现分区键,则说明该语句未执行分区剪裁

作者:林帅