码迷,mamicode.com
首页 > 其他好文 > 详细

kylin build报错Execution Error, return code 1

时间:2018-02-05 12:39:43      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:execution   name   性能   esc   false   ret   数据   oop   查看   

Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapredLocalTask

这个问题是hive进行map join 而机器内存不够导致
map join会把join中的小表读到内存中,然后再对比较大的表格进行map操作。join就发生在map操作的时候,每当扫描一个大的table中的数据,就要去去查看小表的数据,哪条与之相符,继而进行连接。这里的join并不会涉及reduce操作。map端join的优势就是在于没有shuffle。
但我们机器内存不够,所以悲剧了。


修改这个文件下的参数可以把map join 关闭,使用common join

$KYLIN_HOME/conf/kylin_hive_conf.xml
:
<property>
<name>hive.auto.convert.join</name>
<value>false</value>//true修改为false
<description>Enables the optimization about converting common join into mapjoin</description>
</property>


common join也叫做shuffle join,reduce join操作。这种情况下生再两个table的大小相当,但是又不是很大的情况下使用的。具体流程就是在map端进行数据的切分,一个block对应一个map操作,然后进行shuffle操作,把对应的block shuffle到reduce端去,再逐个进行联合,这里优势会涉及到数据的倾斜,大幅度的影响性能有可能会运行speculation,这块儿在后续的数据倾斜会讲到。因为平常我们用到的数据量小,所以这里就不具体演示了。

kylin build报错Execution Error, return code 1

标签:execution   name   性能   esc   false   ret   数据   oop   查看   

原文地址:http://blog.51cto.com/xiaolanlan/2068900

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!