Hadoop的MapReduce原理

MapReduce说的其实是applicationmaster把任务交给datanode之后,datanode中任务的执行过程,大家有必要可以看一下我之前发的yarn在任务进行时的工作流程https://blog.youkuaiyun.com/dudadudadd/article/details/111586667
最好还是看一下,因为如果其他人问出来,我们还是要从数据的提交那一块说起的
在这里插入图片描述
如上图,我以单个的datanode为例来说,在applicationmaster向yarn申请完资源之后,会把任务交给申请到的资源所在的datanode上,并通知启动容器来运行maptask,而启动的数量是由applicationmaster申请资源时就决定的,内部参考以数据切片数量为核心的一系列必要条件有相应的算法决定,每个mapTask拉那些数据applicationmaster也会通知

如果我们没有对任务做特定的自定义切片操作,那么为了节约资源理论上applicationmaster优先采用数据块同等数量的MapTask启动,MapTask拉数据时也会优先考虑机架感知,这是考虑到要减少网络IO等资源的消耗

在2.0版本中,maptask拉数据依靠的是自身默认的FileInputFormat中的recordreader组件,它会将数据拉取并组合成:行偏移量–对应行数据,这样的键值对交给setup、map(在读取期间会一直回调map方法)、cleanup这三个方法去执行

当数据经历了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值