Hive进阶(4)----MapReduce的计算过程(赋图助君理解)

MapReduce的计算过程

MapReduce是一种编程模型和处理大规模数据集的方法。它通常用于分布式计算环境中,能够将数据处理任务分解成独立的部分,分配给多台计算机进行并行处理。这个模型由Google提出,并在开源领域中得到了广泛的应用和实现。MapReduce模型包含两个主要阶段,MapReduce的优点在于它的可伸缩性和容错性。它可以处理非常大的数据集,并且能够在计算过程中处理节点故障等问题,保证整个计算任务的完成。Hadoop是最著名的MapReduce实现之一,它是一个开源的分布式计算框架,用于在大规模集群上运行MapReduce作业。

一、计算流程

Map阶段

1.按照块数量进行split的块数据读取

2.split切割后的数据传递给对应的map进行处理,会对数据转为kv (张三,1) (李四,2)

3.map将处理的后的数据写入buffer缓存区

4.对缓冲区内的数据进行spill溢出(读取缓冲区内的数据)

5.对读取的数据进行分区,将数据拆分多份

6.对每份拆分的数据进行排序 sort

7.将拆分的数据写入不同的文件

8.在将每次溢出的数据合并merge在一起,保存同一文件,文件是临时文件,计算后会删除

Reduce阶段

1.根据的分区数创建出多个reduce

2.每个reduce从不同的map中fetch获取相同分区的文件数据

3.在将fetch后的文件合并,对合并后的数据进行排序

4.reduce对合并后的文件数据进行计算

5.reduce对结果输出到hdfs的目录下

二、图形化流程

相关推荐
weixin_750330233 小时前
AI获客工具选型:从技术架构看中小企业效率提升方案
大数据·人工智能·架构·ai获客
mpp0074 小时前
36氪《2026 中国 AI Agent 行业发展报告》:当 Agent 进入「交付」主战场
大数据·人工智能
白帽攻防录6 小时前
SRC 挖洞:Roundcube 预认证 SQL 注入深度复盘,CVE-2026-48842 preg_replace 转义绕过怎么打穿邮件系统
网络·数据库·sql·网络安全·sql注入
꯭自꯭闭꯭7 小时前
达梦SQL优化相关
linux·运维·数据库·sql
对空六课7 小时前
支持注意力分析的热力图工具有哪些?
前端·数据库·数据分析
johnsong7 小时前
当决策成为免费商品:思维成本崩溃背后的治理真空
大数据·人工智能
南京码讯光电技术有限公司7 小时前
How to Design an Antenna System for an Industrial WiFi Module
数据库·人工智能
数字新视界8 小时前
动环监控系统优化数据中心管理,提升环境监测与安全效率
大数据·人工智能·数据中心·微模块机房·模块化机房
zhenaibo5218 小时前
如何向导师请教问题,才能得到有效建议?
大数据·人工智能·深度学习
lusklusklusk9 小时前
Oracle数据库基础之2_体系结构
数据库·oracle