当前位置: 首页 > news >正文

Hadoop之02:MR-图解

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

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

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

第一个map任务:

class1 14
class1 15
class1 16
class2 10

第二个map任务:

class1 16
class2 10
class2 11

平均年龄:

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

第一个map任务:

class1 14
class1 15
class1 16
class2 10
==>平均值:
class1: (14+15+16)/3 = 15
class2: 10/1 = 10

第二个map任务:

class1 16
class2 10
class2 11
==>平均值:
class1: 16/1 = 16
class2: (10+11)/2  =10.5

平均年龄:

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

比对结果:

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

在这里插入图片描述


http://www.mrgr.cn/news/92863.html

相关文章:

  • Ollama运行各种平台的大模型(deepseek),配合AnythingLLM-UI界面使用
  • 高频 SQL 50 题(基础版)_550. 游戏玩法分析 IV
  • ZYNQ-PL实践课堂(四)IP核之RAM
  • 多Agent协作智能系统
  • C++(6)内存管理
  • 了解什么是红黑树
  • 【Linux】进程信号
  • The “Rule-of-Zero“ should be followed (s4963)
  • Hadoop之01:HDFS分布式文件系统
  • I2C驱动(十一) -- gpio模拟的i2c总线驱动i2c-gpio.c分析
  • 第一个Vue项目笔记(待更新)
  • 250301-OpenWebUI配置DeepSeek-火山方舟+硅基流动+联网搜索+推理显示
  • C语言学习笔记-初阶(19)猜数字游戏:分支、循环结构的应用
  • 大数据学习(51)-MySQL数据库学习
  • IP-----双重发布
  • ConcurrentHashMap
  • 初始化列表
  • 详解:事务注解 @Transactional
  • 安装 Open WebUI
  • 【HarmonyOS NEXT】控制 WebP 格式动图播放次数的实现方案