如何在hive中增加reducer?

1zmg4dgp  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(371)
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;

它是9gb的数据。它是在减速器问题。它在减速器99%的重击。我已将减速机增加到150,但没有结果。

9ceoxa92

9ceoxa921#

一个歪斜的连接只会向一个减速机发送不成比例的大量值,并且您会得到一个99%作业完成综合症的长尾,因此可能会遇到这种情况。查看作业日志(特别是io)可以发现这是否是罪魁祸首。
在这种情况下,您可以使用倾斜连接优化,这反过来又依赖于列表bucketing。您必须确定哪些键值( depno )严重扭曲并在ddl中相应声明:

alter table emp (schema) skewed by  (depno) on ('<skewedvalue>');

阅读链接文章了解详细信息,查看hive-3086的评论和更改。

kmbjn2e3

kmbjn2e32#

您可以使用:

set mapred.reduce.tasks=113

您的问题可能与数据偏斜有关(这意味着某些键非常密集)。

相关问题