MR-图解

1、不是所有的MR都适合combine

1.1、map端统计出了不同班级的每个学生的年龄

如:(class1, 14)表示class1班的一个学生的年龄是14岁。

第一个map任务:

java 复制代码
class1 14
class1 15
class1 16
class2 10

第二个map任务:

java 复制代码
class1 16
class2 10
class2 11

平均年龄:

java 复制代码
class1: ((14+15+16)+16)/4 = 61/4 = 15.25
class2: (10+10+11)/3 = 10.333
1.2、若强制使用combine的话。

第一个map任务:

java 复制代码
class1 14
class1 15
class1 16
class2 10
==>平均值:
class1: (14+15+16)/3 = 15
class2: 10/1 = 10

第二个map任务:

java 复制代码
class1 16
class2 10
class2 11
==>平均值:
class1: 16/1 = 16
class2: (10+11)/2  =10.5

平均年龄:

java 复制代码
==>汇总求平均值:
class1: (15+16)/2  =15.5
class2: (10+10.5) = 10.25

比对结果:

java 复制代码
class1: 15.25不等于15.5
class2: 10.333不等于10.25
1.3、结论:并非所有MR都适合combine操作

2、reduce端merge 排序 分组

第一个map输出

复制代码
(hadoop,1)
(hadoop,1)
(hive,1)

第二个map输出

复制代码
(hadoop,1)
(hive,1)

第三个map输出

复制代码
(hadoop,1)
(hive,1)
(hive,1)
-->merge
复制代码
(hadoop,1)
(hadoop,1)
(hive,1)
(hadoop,1)
(hive,1)
(hadoop,1)
(hive,1)
(hive,1)
-->排序
复制代码
(hadoop,1)
(hadoop,1)
(hadoop,1)
(hadoop,1)

(hive,1)
(hive,1)
(hive,1)
(hive,1)
-->分组
复制代码
一组
(hadoop,1)
(hadoop,1)
(hadoop,1)
(hadoop,1)
二组
(hive,1)
(hive,1)
(hive,1)
(hive,1)
-->每组调用一次reduce方法
复制代码
(hadoop,1)
(hadoop,1)  -> hadoop, Iterable(1,1,1,1) -> reduce(hadoop, Iterable(1,1,1,1), context){...}
(hadoop,1)
(hadoop,1)

⭐️3、wordcount+combine过程

⭐️4、wordcount shuffle

5、grouping

6、自定义OutputFormat

相关推荐
卷毛迷你猪3 天前
快速实验篇(A11)数据集成与多维分析:从单实验产出到跨实验宽表
hive·hadoop
卷毛迷你猪4 天前
快速实验篇(A10)短序列上 SPI 的失效机制
hadoop
Francek Chen4 天前
【大数据处理与分析】数据仓库Hive:04 数据仓库Hive概述
大数据·数据仓库·hive·hadoop·分布式
Gl�ria4 天前
Hadoop/YARN 集群缩容:下线DN节点
大数据·hadoop·分布式
计算机源码社4 天前
基于大数据技术的台北市住宅价格影响因素挖掘与可视化分析-基于Python与Hadoop的台北市住宅价格数据仓库构建与可视化
大数据·hadoop·python·数据分析·spark·毕业设计·数据可视化
计算机源码社4 天前
基于Hadoop+Spark的乳腺癌病理数据可视化分析系统 基于K-Means聚类与PCA降维的乳腺癌形态特征分析系统
大数据·hadoop·python·数据分析·spark·毕业设计·数据可视化
卷毛迷你猪5 天前
快速实验篇(A9-2)Python vs MapReduce:小批量任务的工具选择
大数据·hadoop
Ahtacca7 天前
hadoop部署前置准备
hadoop
计算机源码社7 天前
基于K-Means聚类的新生儿败血症临床分型与可视化分析系统 基于数据挖掘的新生儿败血症生命体征时序走势与关联性可视化研究
大数据·hadoop·python·数据挖掘·数据分析·spark·毕业设计
计算机源码社7 天前
基于大数据的全球温室气体排放燃料结构与碳强度评估研究-基于Spark的全球温室气体排放多维度检测与评估分析
大数据·hadoop·python·数据挖掘·数据分析·spark·毕业设计