MapReduce基础介绍

1.概述:

MapReduce的和心思想:将复杂的任务分解成小任务并行计算,再对所有小任务的结果进行汇总。

2.MapReduce编程规范

一共有8个步骤

Map阶段:切分数据,进行并行计算

设置InputFormat类,将数据切分成键值对<k1,v1>输入到第二步。键值对代表的含义:k1代表各行文本相较于文本开头的偏移量,v1代表这行数据

自定义Map逻辑,将K1,v1转化成k2,v2

Shuffle阶段:

将k2,v2打上一个标记,将键值对按照键值对进行分类(分区)

对不同分区的键值对按照key排序

(可选)对排序后的键值对进行初步规约(初步聚合),减少网络数据的拷贝和传输

对数据进行分组,key相同,将其value放入一个集合中

Reduce阶段:

将多个Map任务的结果进行排序以及合并,编写函数实现自己的逻辑,将键值对转成K3,V3的形式输出

设置OutputFormat处理并保存输出的数据

原文地址:https://www.cnblogs.com/wangzhaojun1670/p/13521636.html