select
emp.deptno, emp.ename, emp.empno, emp.job, emp.mgr,
emp.mgr, emp.hiredate, emp.sal, emp.comm, dept.dname,
dept.loc
from emp
join dept on from emp.deptno = dept.deptno;
IT是9GB数据。在reducer.it正在减速器达到99%的问题。 我已将减速器增加到150,但它没有给出结果。
答案 0 :(得分:0)
您可以使用:
set mapred.reduce.tasks=113
你的问题可能与数据偏差有关(这意味着一些密钥非常密集)。
答案 1 :(得分:0)
偏斜连接会向一个减速器发送不成比例的大量值,并且您将获得99%完成工作综合症的长尾,因此可能会遇到这种情况。查看作业日志(特别是IO)将揭示这是否是罪魁祸首。
在这种情况下,您可以使用Skewed Join Optimization,而List Bucketing依赖于HIVE-3086。您必须确定哪些键值(depno
)严重偏斜并在DDL中相应地声明它:
alter table emp (schema) skewed by (depno) on ('<skewedvalue>');
阅读链接文章了解详情,查看{{3}}的评论和更改。