1. 问题描述
    使用hive跑数时,出现return code 3的错误,但没有报出代码中具体位置的错误。

  2. 问题原因
    具体原因不是非常清楚,但是网上提到的原因最有可能的是数据倾斜导致的,具体的表现就是任务执行的时间非常长,并且执行了非常长的时间之后还失败了,出现code 3错误。

这类错误一般不是代码有逻辑或语法问题,而是数据层面的问题,向code 2也是这样,之前碰到的code 2,就是有一个大表和一个超大表做join,导致数据量超大,集群承受不住而爆出。

  1. 解决方案
    我目前采取的方案可以解决问题,主要是修改设置项:
set hive.auto.convert.join = false;
set hive.ignore.mapjoin.hint = false;
set hive.exec.parallel = true;

而且把distinct的使用给去除,解决return 3 的问题,不过有些作业会报return 2的错误

hive 1.0+版本是默认开启mapjoin的,可能大表小标关联时,小表并不小,所以使用mapjoin时反而出现了异常。

所以此时不使用mapjoin,直接使用common join,但使用common join在存在数据倾斜的情况下,会导致最终结果出来得非常慢(本来mapjoin是用来解决小表很小时的这个问题的)。因此,开启并行,让sql出现多个可并行的任务时,并行执行,从而提升common join的效率,以空间换取时间。

  1. 总结
    这个方法可以解决问题,让代码不报错且速度较快地跑出结果,但肯定还不是最优的结果,因为我们还可以从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 报错相关推荐

  1. 大数据hive篇--hive报错return 2 return 3 解决方式

    oozie跑hive脚本报错: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRed ...

  2. 大数据Hive篇_埋点、日志数据清洗(string类型)

    实习期间处理业务需求不会的总结汇总,主要学习自花花里的前辈带教.与<Hive编程指南>一书,不足之处,望多多指正. 前言 实际的业务处理中,业务方提出的一个临时需求如果找不到对应的取数表, ...

  3. 大数据hive篇--UDF函数

    什么是UDF: 它是User defined Function的简写,意思是用户自定义方法 为什么要用UDF? hive自带了一些函数,比如:max.min 等,但是自带的函数数量有限,所以hive提 ...

  4. 大数据hive篇_group seting解决业务问题

    1.业务背景 最近接到的一个比较刁的体系建设需求,需求背景简述:一个功能有新老两个版本,每个功能可以通过AB两个方式进到功能中使用,其中A方式又可以细分成A1.A2.A3三个口子. 拆分方式是按三层来 ...

  5. 2021年大数据Hive(十二):Hive综合案例!!!

    全网最详细的大数据Hive文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 前言 Hive综合案例 一.需求描述 二.项目表的字段 三.进 ...

  6. 女友问粉丝过万如何庆祝,我发万字长文《保姆级大数据入门篇》感恩粉丝们支持,学姐|学妹|学弟|小白看了就懂

    2021大数据领域优质创作博客,带你从入门到精通,该博客每天更新,逐渐完善大数据各个知识体系的文章,帮助大家更高效学习. 有对大数据感兴趣的可以关注微信公众号:三帮大数据 目录 粉丝破万了 新星计划申 ...

  7. 2021年大数据Hive(八):Hive自定义函数

    全网最详细的Hive文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 系列历史文章 前言 Hive自定义函数 一.概述 1.UDF(User-Define ...

  8. 2021年大数据Hive(三):手把手教你如何吃透Hive数据库和表操作(学会秒变数仓大佬)

    全网最详细的Hive文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 系列历史文章 前言 Hive数据库和表操作 一.数据库操作 1.创建数据库 2.创建 ...

  9. 2021年大数据Hive(二):Hive的三种安装模式和MySQL搭配使用

    全网最详细的Hive文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 系列历史文章 前言 Hive的三种安装模式和MySQL搭配使用 一.Hive的安装方 ...

最新文章

  1. python3.x安装cv2失败
  2. 拓扑排序(完整案列及C语言完整代码实现)
  3. html表格统计表,jQuery操作表格(table)的常用方法、技巧汇总
  4. CompletableFuture详解~thenApply
  5. 怎么挪动_2020蚕茧多少钱一斤,蚕茧怎么做成蚕丝被
  6. SEO优化之Title 和 Meta 标签
  7. notepad++格式化插件安装
  8. 如何卸载 Internet Explorer 7
  9. java爬虫模拟登陆_java爬虫实战之模拟登陆
  10. 如何快速推广你的博客
  11. 再生核希尔伯特空间和核方法
  12. BLENDER快捷键(个人防止忘记的几个快捷键)
  13. 学习笔记 Tianmao 篇 OkHttp 网络的使用的简单封装 获取Json用GSON来解析
  14. 微信小程序 时间轴(时间线)特效
  15. 京东安卓客户端values文件夹
  16. FPGA之复数乘法器的设计
  17. java最强的mtk平台_手机QQ塞班S60/JAVA/MTK平台系统升级
  18. 使用SubstanceDesign和Unity插件ShaderForge制作风格化火焰
  19. kali下载软件时出现“部分索引文件下载失败,如果忽略他们,那将转而使用旧的索引文件”
  20. 网罗全网最优质AI社区!

热门文章

  1. 伟福6000微型计算机,伟福6000软件模拟器
  2. vue-element上传视频并预览、上传多个视频+laravel8后台(larke-admin)
  3. windows CMD 命令总结
  4. ubuntu喇叭有杂音
  5. 笔记本电脑显卡驱动怎么更新下载
  6. UltraISO制作ISO镜像文件
  7. 如何在官网下载android studio
  8. mac打开服务器文件管理,mac通过samba服务器远程管理linux上文件
  9. 优秀的高管团队:三个使命、两项任务、四项责任
  10. DLAP221启动镜像制作