hive sql执行的job在map时报java.lang.OutOfMemoryError的错误

Posted zhang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hive sql执行的job在map时报java.lang.OutOfMemoryError的错误相关的知识,希望对你有一定的参考价值。

较为详细且重要的一段报错信息是org.apache.hadoop.mapred.YarnChild: Error running child : java.lang.OutOfMemoryError: Java heap space

说一下解决方案,其实这个解决过程完全是摸索着来的。

set mapreduce.map.java.opts=-Xmx1024m
set mapred.max.split.size=100000000;
set mapred.min.split.size.per.node=100000000;
set mapred.min.split.size.per.rack=100000000;

其实就是设置了以上四个参数,先是设置了后面三个参数,发现可以增加map的个数,然后成功的map数也多了,后边就干脆将第一个参数调整为1G。

其实感觉就算不调整第一个参数,单纯为后边三个参数设置更小的值,错误应该也会得到解决,不过这个我没试。

以上是关于hive sql执行的job在map时报java.lang.OutOfMemoryError的错误的主要内容,如果未能解决你的问题,请参考以下文章

hive.groupby.skewindata为

hive中数据倾斜

016-Hadoop Hive sql语法详解6-job输入输出优化数据剪裁减少job数动态分区

Hive on Mr Job重复执行问题排查

Hive 到底怎么把sql转成MapReduce的?

hive 优化 (转)