hadoop在对数据压缩时出现的问题
来源:互联网 发布:微信小程序域名未备案 编辑:程序博客网 时间:2024/06/05 00:16
最近在对数据做压缩时,报了数组太大,导致内存不够的错误:
2012-12-19 13:15:03,866 FATAL org.apache.hadoop.mapred.Child: Error running child :
java.lang.OutOfMemoryError: allocLargeObjectOrArray: [I, size 3600016at org.apache.hadoop.io.compress.bzip2.CBZip2OutputStream$Data.<init>(CBZip2OutputStream.java:2074)
at org.apache.hadoop.io.compress.bzip2.CBZip2OutputStream.init(CBZip2OutputStream.java:747)
at org.apache.hadoop.io.compress.bzip2.CBZip2OutputStream.<init>(CBZip2OutputStream.java:637)
at org.apache.hadoop.io.compress.bzip2.CBZip2OutputStream.<init>(CBZip2OutputStream.java:594)
at org.apache.hadoop.io.compress.BZip2Codec$BZip2CompressionOutputStream.internalReset(BZip2Codec.java:186)
at org.apache.hadoop.io.compress.BZip2Codec$BZip2CompressionOutputStream.write(BZip2Codec.java:205)
at org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat$1.write(HiveIgnoreKeyTextOutputFormat.java:86)
at org.apache.hadoop.hive.ql.exec.FileSinkOperator.processOp(FileSinkOperator.java:588)
at org.apache.hadoop.hive.ql.exec.Operator.process(Operator.java:471)
at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:762)
at org.apache.hadoop.hive.ql.exec.SelectOperator.processOp(SelectOperator.java:84)
at org.apache.hadoop.hive.ql.exec.Operator.process(Operator.java:471)
at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:762)
at org.apache.hadoop.hive.ql.exec.CommonJoinOperator.genAllOneUniqueJoinObject(CommonJoinOperator.java:761)
at org.apache.hadoop.hive.ql.exec.CommonJoinOperator.checkAndGenObject(CommonJoinOperator.java:848)
at org.apache.hadoop.hive.ql.exec.JoinOperator.endGroup(JoinOperator.java:265)
at org.apache.hadoop.hive.ql.exec.ExecReducer.reduce(ExecReducer.java:198)
at org.apache.hadoop.mapred.ReduceTask.runOldReducer(ReduceTask.java:519)
at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:420)
at org.apache.hadoop.mapred.Child$4.run(Child.java:255)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)
at org.apache.hadoop.mapred.Child.main(Child.java:249)
报此错误是在reduce阶段出现。我尝试着修改了reduce数(加大),之前(hive-site.xml)设置是10,后来加到25,最后设置成40,就运行OK了。
解决方式:设定reduce数(具体数字需要自己测试下,根据数据量的不同来判断,我这次是用我们能用到最大的数据容量做动态分区加bz压缩)
总数据量在130GB左右。
另外我们尝试过不用压缩,也是能正常运行的。
说明使用压缩的时候,我们还有些问题没有更好的解决掉,后续会专门研究其压缩的使用。
- hadoop在对数据压缩时出现的问题
- 在ubuntu上部署hadoop时出现的问题
- 字典序问题。在数据加密和数据压缩中常需要对特殊的字符串进行编码。给定的字母表A由26个小写字母组成。该字母表产生的升序字符串中字母从左到右出现的次序与字母在字母表中出现的次序相同,且每个字符最多出现1
- 字典序问题。在数据加密和数据压缩中常需要对特殊的字符串进行编码。给定的字母表A由26个小写字母组成。该字母表产生的升序字符串中字母从左到右出现的次序与字母在字母表中出现的次序相同,且每个字符最多出现1
- 在hadoop启动的时候,会出现各种各样的问题
- 在hadoop启动的时候,会出现各种各样的问题
- 在hadoop启动的时候,会出现各种各样的问题
- 在hadoop启动的时候,会出现各种各样的问题
- 使用Hadoop时出现的问题
- Hadoop 数据压缩
- Hadoop数据压缩
- Hadoop 在格式化 namenode 时出现以下问题:
- Hadoop 在格式化 namenode 时出现以下问题
- 在对出版社查询number时加入权限出现问题的排除 和一些问题总结
- 配置hadoop出现的问题
- Hadoop运行出现的问题
- Hadoop可能出现的问题
- 基于Hadoop的数据压缩与解压缩实例
- 《Android系统学习》之bug定位
- UML中的泛化、依赖、关联、聚合、组合关系
- 心得8-hibernate 高级映射
- [Android实例] 适应多行长文本的Android TextView
- mysql索引问题
- hadoop在对数据压缩时出现的问题
- oracle 中的Union的用法
- IOS之文件夹创建、删除,图片在本地的保存和加载
- 使用反射+缓存+委托,实现一个不同对象之间同名同类型属性值的快速拷贝
- Ubuntu Linux gFTP install
- Linux umount 报 device is busy 的处理方法
- XML entity
- 三沙市旅游
- MFC单个控件实现文件拖拽功能