Hadoop2.6.0学习笔记(一)MapReduce介绍


鲁春利的工作笔记,谁说程序员不能有文艺范?
Hadoop是大数据处理的存储和计算平台,HDFS主要用来实现数据存储,MapReduce实现数据的计算。
MapReduce内部已经封装了分布式的计算功能,在做业务功能开发时用户只需要继承Mapper和Reducer这两个类,并分别实现map()和reduce()方法即可。1、Map阶段
读取hdfs中的数据,然后把原始数据进行规范处理,转化为有利于后续进行处理的数据形式。2、Reduce阶段接受map阶段输出的数据,自身进行汇总,然后把结果写入到hdfs中。
map和reduce接收的形参是hadoop1中,jobtracker和tasktracker。
hadoop2中,yarn上有resourcemanager和nodemanager。
Mapper端
Reducer
Map过程自定义Mapper类继承自该Mapper.class,类Mapper类的四个参数中,前两个为map()函数的输入,后两个为map()函数的输出。 1、读取输入文件内容,解析成形式,每一个对调用一次map()函数; 2、在map()函数中实现自己的业务逻辑,对输入的进行处理,通过上下文对象将处理后的结果以的形式输出;3、对输出的进行分区;4、对不同分组的数据,按照key进行排序、分组,相同key的value放到一个集合中;5、分组后的数据进行归并处理。说明:用户指定输入文件的路径,HDFS可以会自动读取文件内容,一般为文本文件(也可以是其他的),每行调用一次map()函数,调用时每行的行偏移量作为key,行内容作为value传入map中;MR是分布式的计算框架,map与reduce可能都有多个任务在执行,分区的目的是为了确认哪些map输出应该由哪个reduce来进行接收处理。map端的shuffle过程随着后续的学习再进行补充。 单词计数举例: 每次传入时都是一行行的读取的,每次调用map函数分别传入的数据是, ,
在每次map函数处理时,key为LongWritable类型的,无需处理,只需要对接收到的value进行处理即可。由于是需要进行计数,因此需要对value的值进行split,split后每个单词记一次(出现次数1)。

Reduce过程自定义Reducer类继承自Reducer类,类似于Mapper类,并重写reduce方 香港云主机法,实现自己的业务逻辑。1、对多个map任务的输出,按照不同的分区,通过网络拷贝到不同的reduce节点;2、对多个任务的输出进行何必、排序,通过自定义业务逻辑进行处理;3、把reduce的输出保存到指定文件中。
说明:reduce接收的输入数据Value按key分组(group),而group按照key排序,形成了>的结构。单词计数举例:有四组数据, , , 依次调用reduce方法,并作为key,value传入,在reduce中通过业务逻辑处理。单词计数程序代码:Map端Reduce端驱动类
单词计数程序调用:
单词计数程序输出结果:

相关推荐: win10系统如何实现窗口自定义调整

这 香港云主机篇文章主要为大家展示了“win10系统如何实现窗口自定义调整”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“win10系统如何实现窗口自定义调整”这篇文章吧。1、按win+r打开运行窗口,输入reged…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 07/23 17:00
Next 07/23 17:00

相关推荐