HIVE 会使用分区条件而不是分区条件进行全表查询吗?

问题描述

我有一个一个日期列名 datetime 分区的 hive 表
如果我做这样的查询

select *
from table
where datetime = "2021-05-01"
    and id in (1,2)

如果有额外的 and id in (1,2) 条件,hive 会做全表搜索吗?
是否可以通过explain结果来确定?

解决方法

分区修剪应该可以正常工作。为了验证使用 EXPLAIN DEPENDENCY 命令,它将在 JSON 数组 {"input_partitions":[...]}

中打印输入分区

EXPLAIN DEPENDENCY docs

EXPLAIN EXTENDED also prints used partitions