首页 > 代码库 > Hadoop权威指南学习笔记二
Hadoop权威指南学习笔记二
MapReduce简介
声明:本文是本人基于Hadoop权威指南学习的一些个人理解和笔记,仅供学习参考,有什么不到之处还望指出,一起学习一起进步。
转载请注明:http://blog.csdn.net/my_acm
上一篇介绍了什么是Hadoop,Hadoop的作用等。本篇同样基于Hadoop权威指南,结合迪伦的Hadoop的视频教程对MapReduce做一个介绍。
1、
MapReduce是Hadoop的核心之一。MapReduce分为两个部分,Mapper和Ruducer模块。简单来说就是前者完成键值得映射,后者完成整合过程。同是这两个模块也是编程和开发人员可以对数据处理设计算法编程的地方。那么对于人员来说要用什么方法或者说是什么语言来写这些Map和Reduce函数呢?
(1) Hadoop是java语言开发的,那么自然就支持java接口的编程方式了,所以java的效率在Hadoop上运行的效率要相对比较高。下面也会重点结合迪伦的教程展示一下java如何编写完成mapreduce的。
(2) Hadoop管道(pipes)支持c/c++。
(3) 同是Hadoop也提供了Hadoop流(streaming)支持其他语言如Python,Ruby等。
2、
MapReducejob是客户端执行的单位,通过将job分成若干个小的task(task其中包括map和reduce)来完成。Hadoop通过把输入分成若干个等长的分片发送到MapReduce中处理。Hadoop为每个分片创建一个map任务来运行map函数。
下面是几种MapReduce运行图。
3、
WordCount(计算不同单词的个数)是MapReduce里面的一个问题。
下面是Word Count的MapReduce的具体过程图及其实现代码
Hadoop权威指南学习笔记二