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

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.dtcms.com/a/43582.html

相关文章:

  • 学生考勤请假管理系统
  • ai说话人分离 | 基于语音大模型进行说话人拆分
  • 【精华】为什么class在前端开发中不常用?
  • 【云原生之kubernetes实战】在k8s环境中高效部署Vikunja任务管理工具(含数据库配置)
  • 【C++】Rusage(一)
  • 广义线性模型下的数据分析(R语言)
  • 当JMeter遇见AI:性能测试进入智能时代(附实战案例)
  • 虚拟仿真无线路由器5G和2.4G发射信号辐射对比(虚拟仿真得出最小安全距离,与国际标准要求一致)
  • 百度 API 教程 006:使用BMapGL.Marker3D绘制带高度的点纹理贴图
  • 市场加速下跌,但监管「坚冰」正在消融
  • 【练习】【贪心】力扣1005. K 次取反后最大化的数组和
  • 可以用于promise面试的例子--其1
  • 基于单片机的机床切屑运输系统设计
  • cv2.solvePnP 报错 求相机位姿
  • 车载电源管理新标杆NCV8460ADR2G 在汽车电子负载开关中的应用
  • 删除idea recent projects 记录
  • springboot项目部署脚本
  • c++11新特性 chrono库
  • yolov8 目标追踪 (源码 +效果图)
  • JS中let和var变量区别
  • LeetCode刷题 -- 29. 两数相除
  • 8、HTTP/1.0和HTTP/1.1的区别【高频】
  • 测试金蝶云的OpenAPI
  • Python面试(八股)
  • 如何管理路由器
  • 做表格用什么软件?VeryReport让数据管理更高效!
  • 如果使用MODBUS通用类进行通信
  • 【无标题】Ubuntu22.04编译视觉十四讲slambook2 ch4时fmt库的报错
  • 【Nodejs】用pm2管理nodejs服务
  • PyCharm中通过命令行执行`pip`命令下载到哪里了:虚拟环境目录下