博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hive 调整inputsplit size来增加MAP数
阅读量:5750 次
发布时间:2019-06-18

本文共 570 字,大约阅读时间需要 1 分钟。

线上一个HiveCDH4.2.0)的清洗Job出错,查看日志发现其中一个MAP OOME

查看了日志这个HQL2个表进行Joinsplits=2即开了2MAP进行分别处理,其中一个大表123MB<dfs.block.size=128MB),500W行左右,应该是数据量超过了MAP的内存了,通过对比前一天的日志可以确认:

由于是临时表,设置了mapred.reduce.tasks=20重跑新生成临时表,Join清洗成功:

由于MRinputsplit size=min{minsplitsize,max{maxsplitsize,blocksize}},因此想是否可以通过设置mapred.max.split.size=32MB来起多个MAP这种方式解决呢,尝试后发现仍然是2MAP;以为是BugMAPREDUCE-2046,但是CDH4.2已经merge进来,看了一圈由于sequencefileinputformat是老的mapreduce api接口,修改一下hive.input.format然后通过设置mapred.map.tasks增加果然起了预期的MAP数;

本文转自MIKE老毕 51CTO博客,原文链接:http://blog.51cto.com/boylook/1298637,如需转载请自行联系原作者
你可能感兴趣的文章
后端技术精选 - 收藏集 - 掘金
查看>>
Laravel 服务容器
查看>>
mac安装kubernetes并运行echoserver
查看>>
多页架构的前后端分离方案(webpack+express)
查看>>
算法(第4版) Chapter 1
查看>>
前端技术选型的遗憾和经验教训
查看>>
“亲切照料”下的领域驱动设计
查看>>
SRE工程师到底是做什么的?
查看>>
解读:Red Hat为什么收购Ansible
查看>>
Ossim下的安全合规管理
查看>>
DelphiWebMVC框架下BPL热部署实现
查看>>
C++与MySQL的冲突
查看>>
siki学习之观察者模式笔记
查看>>
spring.net 继承
查看>>
ES6:模块简单解释
查看>>
JavaScript indexOf() 方法
查看>>
ZJU PAT 1023
查看>>
WMI远程访问问题解决方法
查看>>
Android开发历程_15(AppWidget的使用)
查看>>
阿花宝宝 Java 笔记 之 初识java
查看>>