如何增加蜂巢中的减速器?

时间:2013-09-11 09:15:00

标签: hadoop hive

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,但它没有给出结果。

2 个答案:

答案 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}}的评论和更改。