MapReduce学习

本文介绍了MapReduce的基本概念,包括映射和规约操作,并通过实例展示了其工作原理。此外,详细讨论了Hadoop MapReduce的版本发展,特别是hadoop2.x在Yarn上的运行架构,描述了作业调度和任务管理的过程。

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

1.MapReduce
MapReduce是由Java开发的,代码非常繁琐,现在企业基本不会用MapReduce。
有少量公司仍然继续使用MapReduce,所以还是有机会碰上。

Map: 映射
Reduce: 规约

Map:
x --》(x,1) key,value 键值对
y --》(y,1)
z --》(z,1)
x --》(x,1)

Reduce:
x,2
y,1
z,1

相当于一个sql语句:select name,sum(value) from xxx group by name

2.版本
在这里插入图片描述
hadoop1.x 部署进程JobTrack和TaskTrack,需要做维护
hadoop2.x 主流,不需要维护JobTrack和TaskTrack,所有作业提交到yarn平台,集中由Yarn管理,主要掌握hivesql spark flink的作业调度。

3.MapReduce on Yarn 架构(面试必问–要背下来的)
在这里插入图片描述
1.用户向yarn提交job,其中包含application master程序,
启动application master的命令等
2.RM为该job分配第一个container,与对应的NM通信,
要求它在这个container启动作业的application master
3.application master向applications manager注册,这样用户就可以通过RM Web
查看job的状态,一直到最后
4.application master采用轮询的方式通过RPC协议向resource scheduler
申请和领取资源
5.一旦application master申请到资源后,与对应的NM通信,要求启动task
6.NM为任务设置好运行环境后,将任务的启动命令写到一个脚本中,
并通过该脚本启动任务 运行任务
7.各个任务 task 通过rpc协议汇报自己的状态和进度,
以让application master随时掌握各个任务的运行状态,从而在任务失败时,
重启启动任务。
8.job运行完成后,application master向applications manager注销并关闭自己。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值