MapReduce运行模式和作业处理

本文介绍了MapReduce的两种运行模式:本地模式和集群模式,并详细解析了MapReduce作业的执行过程,包括输入输出处理、Mapper任务执行流程及Reducer任务执行细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MapReduce运行模式和作业执行

运行模式

本地运行模式

  1. MR程序以本地单线程的方式运行
  2. 处理的数据和输出结果可以在本地系统也可以在HDFS上
  3. 便于调试

集群运行模式

  1. MR程序交给yarn,分发到多个节点上运行
  2. 处理的数据和输出存储到HDFS上

MR作业的执行

输入和输出

MR将作业的输入看成一对键值对,同样产生一组键作为作业的输出。

Mapper任务执行

  1. 将输入目录下文件按照一定标准切片,每一个切片交给一个MapTask处理
  2. 将每一行文本解析成键值对。key是起始位置,value是文本内容
  3. 调用map方法。每解析成一个键值对,就会调用一次map方法。调用map方法会输出零个或多个键值对
  4. 按照一定规则对输出的键值对进行分区。分区数量是Reducer任务运行的数量,默认只有一个Reducer任务,也就是默认只有一个区
  5. 对每个区的键值对进行排序。先按照键排序,键值相同,再按照值排序。
  6. 对数据进行局部聚合,就是combiner。键相等的键值对会调用一次reducer。经过这一阶段,数据量会减少,默认没有这一阶段。

Reducer任务执行

  1. reducer制动从Mapper复制输出的键值对。
  2. 将复制到Reducer的数据进行合并,即将分散的数据汇总成一个大数据。再对汇总的数据进行排序
  3. 对排序后端数据进行reduce方法。键相等的键值对调用一次reduce方法,每次调用都会产生零个或多个键值对,最后将输出的键值对写入到HDFS中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

健鑫.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值