网站大量收购独家精品文档,联系QQ:2885784924

Hadoop大数据开发基础与案例实战(微课版)课件 5.10MapReduce性能调优(完).pptx

Hadoop大数据开发基础与案例实战(微课版)课件 5.10MapReduce性能调优(完).pptx

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

Hadoop大数据项目开发——MapReduce性能调优

目录content02MapReduce优化方法01MapReduce运行效率瓶颈

MapReduce运行效率瓶颈运行效率哪些因素影响

MapReduce运行效率瓶颈1.数据倾斜并行处理的数据集中,某一部分的数据显著多于其它部分。使得该部分的处理速度成为整个数据集处理的瓶颈。

MapReduce运行效率瓶颈2.Map和Reduce数量设置不合理100M0.8默认缓冲区大小默认溢出的百分比1默认Reduce任务数量

MapReduce运行效率瓶颈3.Map运行时间太长,导致Reduce等待过久使Map运行到一定程度后,Reduce也开始运行,减少Reduce的等待时间。

MapReduce运行效率瓶颈4.小文件过多当输入的是大量的小文件时,会启动大量的MapTask;一方面大量占用NameNode的内存空间,另一方面索引文件过大使得索引速度变慢

MapReduce运行效率瓶颈5.大量不可分块的超大文件源文件无法分块;导致需要通过网络IO从其他节点读取文件块,IO开销较大。不可分块超大文件

MapReduce运行效率瓶颈6.Spill次数过多当Map产生的数据非常大时,如果默认的Buffer大小不够;会进行非常多次的Spill,进行Spill就意味着要写磁盘,产生IO开销。10Merge默认处理Spill数量

MapReduce运行效率瓶颈7.merge次数过多Spill非常多,Merge阶段每次只能处理10个Spill,造成频繁的IO处理;调大并行处理的Spill数减少Merge次数,但是如果调整的数值过大,并行处理Spill的过程过多会对节点造成很大压力。

MapReduce优化方法1、数据输入优化合并小文件大量的小文件会产生大量的装载任务,增大Map任务装载次数。CombineTextinputFormat采用这个类作为输入,解决输入端大量小文件场景。CombineInputFormat使用这个类自定义分片策略,对小文件进行合并处理从而减少MapTask的数量。

MapReduce优化方法2、Map阶段优化减少溢写次数100M默认缓冲区大小200M增大到200M减少磁盘的IO操作。减少合并次数10个文件20个文件减少归并的次数在map之后,先进行Combine处理,减少IO操作。

MapReduce优化方法合理设置Reduce端的Buffer3、Reduce阶段优化合理设置Reduce数量设置Map、Reduce共存Map运行到一定程度后,Reduce也开始运行,减少Reduce的等待时间。保证reduce可以直接从buffer中拿一部分数据

MapReduce优化方法4、I/O传输优化采用数据压缩的方式,减少网络IO的时间Snappy速度快,系统自带LZO压缩编码器速度快,支持切片

MapReduce优化方法5、数据倾斜优化某一个区域的数据量远远大于其他区域,如何减少数据数据倾斜:1.抽样和范围分区通过对原始数据进行抽样得到的结果来预设分区边界值;2.自定义分区数据量大的进行分区处理斜优化3.Combine在Map端减少数据4.采用MapJoin,避免ReduceJoinReduceJoin有数据倾斜的情况,MapJoin不会,不过MapJoin适用于一张表很小,另一张表很大的情况。聚合精简数据;

MapReduce优化方法6、HDFS小文件优化方法JVM原理:一个MAP运行在一个JVM上,开启重用,该Map在JVM上运行完毕,JVM继续运行其他Map。开启JVM,重用会减少45%的运行时间CombineTextInputFormat用于将多个文件合并成一个单独的spilt。HadoopArcHive可以高效地将多个小文件打包成一个HAR文件,减少了nameNode的内存使用。将小文件合成大文件再上传HDFS采用CombineTextInputFormat提高效率1234使用MapReduce程序对小文件进行合并SequenceFile由一系列的二进制key/value组成,如果Key为文件名,value为文件内容,则可以将大批小文件合并成大文件。

本章小结本节内容主要介绍了MapReduce程序运行效率的瓶颈及其优化方法,相信大家对MapReduce程序运行效率有了全新的认识,为我们编写出高效的MapReduce程序打下坚实的基础。

您可能关注的文档

文档评论(0)

lai + 关注
实名认证
内容提供者

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档