我有一个关于 hive mapjoin 的问题,我知道小表何时加入大表,使用 mapjoin 更好,但是当我得到这样的 sql 时
select a.col1,
a.col2,
a.col3,
/* there has many columns from table a, ignore..*/
b.col4,
b.col5,
b.col6
from a
inner join b
on (a.id = b.id)
where b.date = '2018-02-10'
and b.hour = '10';
提示:
表b是大表,行:10000W+
表a是大表,行:10000W+
表b带有谓词只返回1000行,我认为这个sql将使用mapjoin,但执行计划是在reduce端加入......
谁能告诉我为什么??