Hive解决return code 3问题
(作者:陈玓玏)
1. 问题描述
使用hive跑数时,出现return code 3的错误,但没有报出代码中具体位置的错误。
2. 问题原因
具体原因不是非常清楚,但是网上提到的原因最有可能的是数据倾斜导致的,具体的表现就是任务执行的时间非常长,并且执行了非常长的时间之后还失败了,出现code 3错误。
这类错误一般不是代码有逻辑或语法问题,而是数据层面的问题,向code 2也是这样,之前碰到的code 2,就是有一个大表和一个超大表做join,导致数据量超大,集群承受不住而爆出。
3. 解决方案
我目前采取的方案可以解决问题,主要是修改设置项:
set hive.auto.convert.join = false;
set hive.ignore.mapjoin.hint = false;
set hive.exec.parallel = true;
hive 1.0+版本是默认开启mapjoin的,可能大表小标关联时,小表并不小,所以使用mapjoin时反而出现了异常。
所以此时不使用mapjoin,直接使用common join,但使用common join在存在数据倾斜的情况下,会导致最终结果出来得非常慢(本来mapjoin是用来解决小表很小时的这个问题的)。因此,开启并行,让sql出现多个可并行的任务时,并行执行,从而提升common join的效率,以空间换取时间。
4. 总结
这个方法可以解决问题,让代码不报错且速度较快地跑出结果,但肯定还不是最优的结果,因为我们还可以从sql角度解决数据倾斜问题,或者看是否有表的结构设计不合理,导致两个表中有不同类型但同名字段导致数据倾斜问题,或者是考虑更高效地使用本身就是设计得比较高效的mapjoin方法。
参考资料:
- https://blog.csdn.net/nysyxxg/article/details/73872245
- https://blog.csdn.net/wingman91/article/details/84704130
- Hive中common join和mapjoin的区别:http://itindex.net/detail/55106-hive-join-%E5%8E%9F%E7%90%86
- 数据倾斜常见原因及优化:https://www.cnblogs.com/ggjucheng/archive/2013/01/03/2842860.html
- hive中设置并行的研究:https://blog.csdn.net/oppo62258801/article/details/79468473
Hive解决return code 3问题相关推荐
- hive异常 return code X from org.apache.hadoop.hive.ql.exec.mr.MapredLocalTask 解决
转自:https://www.iteye.com/blog/vase-2090320 不知道是不是hive-0.12版增强了local mode的原因,在之前版本运行好好的Hive-QL在这个版本上错 ...
- 使用hive报 return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask解决方法
1.情况 两表join 其他时间数据正常插入.唯独插入7月1日数据时 , 报错: join 语句 insert overwrite table A partition (log_date= '2021 ...
- 成功解决: return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
异常: Error while processing statement: FAILED: Execution Error, return code 2 from org.apache.hadoop. ...
- USDP使用笔记(五)设置Hive on Tez解决return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask问题
前言 使用Hive的命令行或者beeline时,经常有测试HQL语法或者逻辑计算公式是否正确的需求,使用Load灌数据到Hive太过重量级了,轻度使用的场景下难免会用到insert操作. 然鹅Hive ...
- hive问题-return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
执行hive sql时遇到问题: FAILED:Execution Error,return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedT ...
- 大数据hive篇--return code 3 报错
问题描述 使用hive跑数时,出现return code 3的错误,但没有报出代码中具体位置的错误. 问题原因 具体原因不是非常清楚,但是网上提到的原因最有可能的是数据倾斜导致的,具体的表现就是任务执 ...
- 解决Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
hive在运行hql语句时报如下错误: Error: Error while processing statement: FAILED: Execution Error, return code 2 ...
- Hive 插入数据时遇到Return Code 2问题的解决
正常情况下,估计很难遇到这个问题. 但是也刚好都碰上了这样的问题.于是把解决过程记录一下. Hive运行成功之后,当输入select count(*) from XX或者插入数据时,居然碰到BUG. ...
- hive报错(1)MoveTask/HIVE return code 1、2、3
今天在CDH上执行hive sql的时候报了一个错 错误内容为: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive. ...
- hive 在kettle 作业return code 2 的问题 Unexpected exception: Unexpected exception: Unexpected exception:
今天突然进去跑不了数据老是报错return code 2 .之前可以跑通的. 日志如下 矢量查询(Vectorized query) 每次处理数据时会将1024行数据组成一个batch进行处理,而不是 ...
最新文章
- zabbix自动化监控8(2.4)
- 算法------对称二叉树
- python爬虫从入门到精通-python爬虫从入门到精通
- 自动化C语言第一次月考试卷,145班《计算机组成与工作原理》第一次月考试卷...
- 什么样的 RPC 才是好用的 RPC
- python ctp接口_使用ctp的python接口
- mysql 匿名块_MySQL存储过程定义中的特性(characteristic)的含义
- Android Gallery控件使用方法详解
- Indent Guides for Visual Studio 代码格式化收缩插件
- Java并发编程-BlockingQueue阻塞队列
- cmake构建qt工程
- html 正则表达式密码判断,JS利用正则表达式实现简单的密码强弱判断实例
- 计算机能换显卡吗,一体机电脑可以更换CPU和显卡嘛?
- Delta并联机构在ADAMS仿真中的运动副设置(二)
- 计算机应用基础谭忠兵,全程导学 | 第19期 足履实地,无畏远方——专访谭忠兵老师...
- ElasticSearch学习总结(基础篇,可学习,可复习)
- [论文解读]Deep active learning for object detection
- ARM体系架构—ARMv7-A指令集:协处理器指令
- 个性代码注释 大合集
- 几种基本的数据结构(待修改)