Hive性能比较之in的使用和join的使用

问题:已知老用户表B,求解浏览表A里有多少用户是老用户?

说明: A表有130万不重复浏览用户,B表也是百万级。

方法一:

select count(*)
from (select pin
from A
group by pin) a
join
(select pin from B
group by pin) b
出现了数据倾斜,卡在一个reducer一直跑不出来。

方法二:

select count(*)
from
(select pin
from A
where pin in
(select pin
from B
group by pin)
group by pin) a
秒出。

猜你喜欢

转载自blog.csdn.net/fegnkuang/article/details/80220499