MapReduce工作原理

Map 阶段: 输入:Map 阶段接收输入数据,通常是键值对(key-value pairs)。 处理:Map 函数对输入数据进行处理,生成中间结果。                                                                      输出:Map 函数的输出是新的键值对,这些中间结果将传递给 Reduce 阶段^1^。

Shuffle 阶段: 分区:将 Map 阶段的输出数据进行分区,每个分区对应一个 Reduce 任务。 排序:对每个分区内的数据按键进行排序。                                                                            合并:将相同键的值合并在一起,准备传递给 Reduce 阶段^2^。

Reduce 阶段: 输入:Reduce 阶段接收 Shuffle 阶段处理后的数据。 处理:Reduce 函数对相同键的值进行合并计算,生成最终结果。                                                                            输出:Reduce 函数的输出是最终结果,通常存储在 HDFS 中^1^。

MapReduce 的运行流程

提交任务:用户通过 Client 提交 MapReduce 任务到 JobTracker。

任务调度:JobTracker 负责资源监控和作业调度,将任务分配给 TaskTracker。

执行任务:TaskTracker 启动 Map 和 Reduce 任务,并定期向 JobTracker 汇报任务进度。

结果输出:Reduce 任务完成后,将最终结果输出到 HDFS2。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值