目录

一、完整报错

二、原因

        2.1、动态分区问题

        2.2、语句占用内存问题

三、其他


一、完整报错

        Error while processing statement: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask

二、原因

        2.1、动态分区问题

        大概率是因为没有开启或允许动态分区或单次动态分区个数太小了。

-- 动态分区前先运行如下语句
set hive.exec.dynamic.partition = true;
set hive.exec.dynamic.partition.mode = nonstrict;
set hive.exec.max.dynamic.partitions = 1000;
set hive.exec.max.dynamic.partitions.pernode = 1000;
        2.2、语句占用内存问题

        还有可能就是你的sql语句执行时需要很大的内存,而配置文件要求单条内存不超过xxx内存时报错。设置下内存大小就可以了。

-- 1024的倍数
set mapreduce.map.memory.mb=5120;

三、其他

        如果上面语句没有解决,可以看下yarn配置,或查看日志或后台配置等等。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐