1、概述:
MapReduce是一种分布式计算模型,由Google提出,主要用于搜索领域,解决海量数据的计算问题.
MR由两个阶段组成:Map和Reduce,用户只需要实现map()和reduce()两个函数,即可实现分布式计算,非常简单。
这两个函数的形参是key、value对,表示函数的输入信息。
2、Mapreduce原理:
3、执行步骤:
一、map任务处理
1.1读取输入文件内容,解析成key、value对。对输入文件的每一行,解析成key、value对。每一个键值对调用一次map函数。
1.2 写自己的逻辑,对输入的key、value处理,转换成新的key、value输出。
二、2.reduce任务处理
2.1在reduce之前,有一个shuffle的过程对多个map任务的输出进行合并、排序。
2.2写reduce函数自己的逻辑,对输入的key、value处理,转换成新的key、value输出。
2.3把reduce的输出保存到文件中。
4、WordCount例子:
5、Mapreduce流程
1) 代码编写
2) 作业配置
3) 提交作业
4) 初始化作业
5) 分配任务
6) 执行任务
7) 更新任务和状态
8) 完成作业