一、说明:该实验环境是基于虚拟机Ubuntu、hadoop、eclipse、mapreduce。
1、MapReduce模型简介:
•MapReduce将复杂的、运行于大规模集群上的并行计算过程高度地抽象到了两个函数:Map(Map 任务 (分割及映射))和Reduce(Reduce 任务 (重排,还原))
•编程容易,不需要掌握分布式并行编程细节,也可以很容易把自己的程序运行在分布式系统上,完成海量数据的计算
•MapReduce采用“分而治之”策略,一个存储在分布式文件系统中的大规模数据集,会被切分成许多独立的分片(split),这些分片可以被多个Map任务并行处理
•MapReduce设计的一个理念就是“计算向数据靠拢”,而不是“数据向计算靠拢”,因为,移动数据需要大量的网络传输开销
•MapReduce框架采用了Master/Slave架构,包括一个Master和若干个Slave。Master上运行JobTracker,Slave上运行TaskTracker
•Hadoop框架是用Java实现的,但是,MapReduce应用程序则不一定要用Java来写
2、详细的整个过程
•映射的任务是为每个分割创建在分割每条记录执行映射的函数。
•有多个分割是好处的, 因为处理一个分割使用的时间相比整个输入的处理的时间要少,