【mapreduce】工作原理

MapReduce是一种分布式计算模型,最初由Google提出并广泛应用于大数据处理领域。其核心思想是将大规模数据集分成小块,在多台机器上并行处理,并最终汇总结果。以下是MapReduce的工作原理:

工作流程

输入分片

将待处理的大规模数据集按照一定的规则划分为若干个小的数据块(称为"分片"),每个分片可以分配到集群的不同节点。

Map阶段

每个分片会被交给一个Mapper任务进行处理。

Mapper会接收键值对作为输入(通常是文件中的每一行内容),并对每一条记录调用用户自定义的map()函数,生成一系列中间键值对 (key, value)。

Shuffle阶段

中间键值对会被按key排序,并通过哈希分区机制分布到各个Reducer节点。

同一key的所有value都会被发送到同一个Reducer中。

Reduce阶段

Reducer接收到所有属于特定key的value列表后,会对它们应用用户定义的reduce()函数,进一步合并、统计或转换这些值。

最终输出的结果通常保存在一个目标存储系统中。

输出写入

Reduce完成后,结果被写入磁盘或其他持久化存储介质,供后续分析使用。

相关推荐
yumgpkpm6 天前
CMP (类ClouderaCDP7.3(404次编译) )华为鲲鹏Aarch64(ARM)信创环境 查询2100w行 hive 查询策略
数据库·数据仓库·hive·hadoop·flink·mapreduce·big data
励志成为糕手8 天前
宽依赖的代价:Spark 与 MapReduce Shuffle 的数据重分布对比
大数据·spark·mapreduce·分布式计算·sortshuffle
笨蛋少年派8 天前
将 MapReduce 程序打成 JAR 包并在 Linux 虚拟机的 Hadoop 集群上运行
linux·jar·mapreduce
洛克大航海10 天前
Ubuntu中使用Hadoop的HDFS和MapReduce
hadoop·ubuntu·hdfs·mapreduce
笨蛋少年派14 天前
MapReduce简介
大数据·mapreduce
MeyrlNotFound15 天前
Hadoop YARN 与 MapReduce 基础关系及 YARN 核心架构细化解析
hadoop·架构·mapreduce
大数据CLUB20 天前
基于mapreduce的资金流入流出任务计算
大数据·hadoop·mapreduce
涤生大数据1 个月前
从MR迁移到Spark3:数据倾斜与膨胀问题的实战优化
数据库·数据仓库·spark·mapreduce·大数据开发·数据倾斜·spark3
大数据CLUB1 个月前
基于hive和mapreduce的地铁数据分析及可视化_hive作为数据库
大数据·hive·hadoop·分布式·数据分析·mapreduce
大数据CLUB1 个月前
基于hive和mapreduce的地铁数据分析及可视化
大数据·hive·hadoop·分布式·数据分析·mapreduce