分享

Hadoop(9)MapReduce 性能调优:优化数据序列化

pig2 发表于 2015-10-19 19:32:33 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 1 15366
本帖最后由 pig2 于 2015-10-19 19:55 编辑
6.4.6 优化数据序列化
如何存储和传输数据对性能有很大的影响。在这部分将介绍数据序列化的最佳实践,从Hadoop中榨出最大的性能。

压缩
压缩是Hadoop优化的重要部分。通过压缩可以减少作业输出数据的储存足迹,加速MapReduce作业下游接收数据。另外,在map和reduce之间的数据需要被压缩以减轻网络IO的压力。压缩技术的具体内容在第5章中介绍。

二进制文件格式
使用二进制文件格式,如Avro和SequenceFile,可以使数据的表达更为紧凑,并提高编组(marshalling)和逆编组的效率,相比文本格式要更为高效。在第3章中详细介绍了这些文件格式。
即便MapReduce的最终输出结果不是二进制文件,在处理的中间步骤应用二进制文件格式也可以提高性能。例如,如果有一系的MapReduce作业需要执行,那么每个作业的输出结果应当保存为Avro或SequenceFile格式,再在最后的作业中将这些二进制格式转换为目标格式。

6.5 章节小结
在这章中介绍了MapReduce作业性能调优的三个必备要素:
  • 确保精确的度量,理解如何获得MapReduce和系统的性能指标
  • 使用性能指标来减少潜在的性能问题
  • 通过检查MapRecue/HDFS配置,优化MapReduce洗牌/排序阶段,优化用户JAVA代码,来修复常见的性能问题。
在第4部分中,将介绍如何在数据科学中应用Hadoop,如何建立复杂数据结构的模型,如何进行数据挖掘。



Hadoop(1)MapReduce 性能调优:性能测量(Measuring)
http://www.aboutyun.com/thread-15514-1-1.html


Hadoop(2)MapReduce 性能调优:理解性能瓶颈,诊断map性能瓶颈
http://www.aboutyun.com/thread-15517-1-1.html


Hadoop(3)MapReduce 性能调优:诊断reduce性能瓶颈
http://www.aboutyun.com/thread-15522-1-1.html


Hadoop(4)MapReduce 性能调优:诊断一般性能瓶颈
http://www.aboutyun.com/thread-15660-1-1.html


Hadoop(5)MapReduce 性能调优:诊断硬件性能瓶颈
http://www.aboutyun.com/thread-15534-1-1.html


Hadoop(6)MapReduce 性能调优:优化洗牌(shuffle)和排序阶段
http://www.aboutyun.com/thread-15545-1-1.html


Hadoop(7)MapReduce 性能调优:减小数据倾斜的性能损失
http://www.aboutyun.com/thread-15544-1-1.html


Hadoop(8)MapReduce 性能调优:优化MapReduce的用户JAVA代码
http://www.aboutyun.com/thread-15583-1-1.html



Hadoop(9)MapReduce 性能调优:优化数据序列化
http://www.aboutyun.com/thread-15658-1-1.html



Hadoop(10)MapReduce 文件处理:小文件
http://www.aboutyun.com/thread-15592-1-1.html


Hadoop(11)MapReduce 文件处理:基于压缩的高效存储(一)
http://www.aboutyun.com/thread-15626-1-1.html


Hadoop(12)MapReduce 文件处理:基于压缩的高效存储(二)
http://www.aboutyun.com/thread-15629-1-1.html




本帖被以下淘专辑推荐:

已有(1)人评论

跳转到指定楼层
starwonder 发表于 2016-2-3 14:09:29
分析的很全面,先收藏,慢慢看。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条