You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by 忝忝向仧 <15...@qq.com> on 2020/07/12 03:24:51 UTC

【Hive Predicate PushDown】

Hi,all:


There's a question that when I use hive2 explain the Sql such as :
select a.*,b.* from test a left join test b on a.id=b.id where a.id in ('1','2') and b.id in ('1','2');
The explain plan shows that the test b will not be filtered before join.


However,I changed the sql to :
select a.*,b.* from test a left join test b on a.id=b.id where a.id in ('1','2') and b.id ='1';


The explain plan shows that the test b will be filterd before join.




Does the hive needs to ues "=" instead of "in" to predicate pushdown?


Thanks.