千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  行业资讯  > 大数据学习笔记: MapReduce经验杂谈十则

大数据学习笔记: MapReduce经验杂谈十则

来源:千锋教育
发布人:千锋大数据
时间: 2018-09-20 16:48:00 1537433280

  来千锋大数据学习班转眼间又是一个月,无论如何,先对近来辛苦的自己表示感谢,感谢自己咬牙坚持了下来。通过近来夜以继日的学习,我对大数据相关知识的理解日益加深,而不像从前万事皆是一脸懵逼的状态。谈谈我们进入大数据的学习,大数据简单的就是对超大量的,复杂的数据的分析处理,当然做起来还是有很大的难度的。大数据的第一个内容是Hadoop,因而在老师的教导下我和战友同学们一起学习了Hadoop的搭建,以及其中的hdfs,MapReduce,不知不觉易经渐渐入门了,真的很开心,万事开头难,怕就怕在临门一脚,却胆怯不敢前,而真正的勇士,正应该勇于面对这惨淡的人生,更何况,摆在大家面前的是高薪高平台的就业机遇!

  接下来,想和大家简要分析下关于MapReduce的相关知识点总结,因为不擅长与归纳,所以着重和大家提及几处值得注意的知识点,希望能为大家的学习提供便利。

图片1

  1.HDFS上的文件以行读取,其中key是行中首字母的起始位置,value是该行的文本内容,一行为一对KV键值对。

  2. 通过FileInputFormat将文件切分成split块,FileInputFormat只会划分比block大的部分。切割完毕后通过TextInputFormat对split块中的每行记录解析为K1V1键值对。

  3. 一个split块对应一个mapper task任务,map接收K1V1键值对后执行map方法,后输出新的K2V2键值对。

  4. K2V2键值对添加到环形缓冲区中,当数据量达到80%(默认数据,可以使用参数mapreduce.map.sort.spill.percent修改)之后,这80%环形区会触发溢出操作,然后被封锁,mappertask会向剩余部分继续写入数据。同时会对写完的数据执行partitioner(分区)操作,然后对不同分区中的数据进行排序分组(sort)操作,最后对分组后的数据归约(combiner,通过Key进行归并,减少reduce的负担)。

  5. 每发生一次溢出操作就会在磁盘中生成换一个磁盘文件,当磁盘文件写入完毕后,环形缓冲区中的封锁区会清空数据,继续接收数据写入。

  6.mapper task的数据全部写出完毕后,会将多个磁盘文件及内存中多余的数据写出到一个本地磁盘文件中。

  7.此时会通知APPMaster完成map task,当完成数量达到5%时,就启动reduce task任务。

  8. reduce生成fetcher线程组(默认5个)将不同分区的的数据copy到不同的reduce节点上。(一个mapper上的分区可能会被发送到多个reduce,同样一个reduce也会接收来自不同的mapper的分区)

  9.fetcher线程组将数据写入内存的过程中,内存满75%时,也会发生溢出操作,触发sort和merge操作,最后生成一个磁盘文件(merge操作一般是从内存到磁盘,最后再从磁盘到磁盘)

  10. 最后磁盘文件的数据会被分组group来提供给reduce方法处理。根据 FileOutputFormat写入目标文件里。

  综上,为MapReuce的细节部分,这部分操作大家比较了解,但是马虎之下容易实现操作性的错误,简要记录十点,望大家多多留意,大数据时代,我们无法安然避世,就业的压力摆在面前,只有金甲加身,付出汗水才能获得高薪,最后送大家一句话,不忘初心,方得始终。

  更多大数据开发培训学习笔记请前往千锋官网!

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT
开班信息
北京校区
  • 北京校区
  • 大连校区
  • 广州校区
  • 成都校区
  • 杭州校区
  • 长沙校区
  • 合肥校区
  • 南京校区
  • 上海校区
  • 深圳校区
  • 武汉校区
  • 郑州校区
  • 西安校区
  • 青岛校区
  • 重庆校区
  • 太原校区
  • 沈阳校区
  • 南昌校区
  • 哈尔滨校区