MapReduce解析之Map,Context,Reduce

Posted 沉默的赌徒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MapReduce解析之Map,Context,Reduce相关的知识,希望对你有一定的参考价值。

要理解MapReduce,就必须理解其框架结构,把这三者放在一起讲是为了便于大家理解。

也就是两大组件Map与Reduce

首先看看Map

(声明:这里感谢Pig2的文章,对我启发很大,也顺便引用一下她的一些东西)

首先看看Map类中包含哪些方法:

技术分享图片

首先看看run方法,它就像是一个控制器

技术分享图片

很明显,Map中的run方法遵循setup--->map----->cleanup

setup源码:

技术分享图片

很明显,只传入了一个context对象

那么这个Context对象究竟为何物

Context,中文释义:环境,背景,上下文

很明显,开发过android的人肯定知道,在Context就是一个保存所有信息的中介桥梁,与java中的session有着异曲同工之妙

Context包含了几乎关于这个任务的所有信息

技术分享图片

那么问题就over了,很明显传入这个context对象就像传入一个session来记录一些信息的,避免信息错乱

好的,再重新回过头看看run方法中的map方法,很显然,这就是我们通常普通用户需要进行更改的

它的最大用处就是对信息进行预处理,让最后得到的

 

以上是关于MapReduce解析之Map,Context,Reduce的主要内容,如果未能解决你的问题,请参考以下文章

大数据之Hadoop(MapReduce):shuffle之MapTask工作机制

hadoop中setup,cleanup,run和context讲解

MapReduce实现数据去重

MapReduce详细解析完整流程

如何使用 mapreduce 从具有 RCFile 存储格式的 HDFS 解析 Map<string,string>?

0008 - MapReduce中Shuffle和排序机制解析