job任务执行流程

在这里插入图片描述

1.run job 阶段。主要检查job的环境设置,包括路径的设置。比如MapperClass,FileInputFormat等。如果检测未通过,则直接报错返回。
2.如果检测通过,JobClient会向JobTracker发起请求,JobTracker为job申请一个全局唯一的id。JobClient可以根据此JobId 跟踪Job的执行进度以及Kill掉Job。
3.检测通过后,JobClient会将job的运算资源(jar包)上传到HDFS。
4.submit job。提交job。此请求传给JobTracker后,剩余的工作就由JobTracker来接手
5.6.7 JobTracker根据根文件信息,计算出切片信息(数据)。相当于获取了Map Task的任务数量和信息。此外,对于Reduce Task数量不用计算,因为通过代码设定的。
当任务信息都明确后,TaskTracker通过心跳去领取任务。底层要满足数据本地化策略,目的是减少网络数据的传输,节省集群带宽。
补充:切片(Spilt),切片里没有真正的文件数据。本质就是一个对象结构,
包含的属性:①start ②length ③path
8.TaskTracker去HDFS下载job的运算资源,结合本地的数据完整数据的计算和处理。这里体现的思想是:移动的是运算,而不是数据。目的也是:减少网络数据的传输,节省带宽。
9.10启动jvm进程,运行map任务或reduce任务。
最后的补充:Map Task在处理数据时,要保证读取完整的一行,所以这个过程不可避免的或通过网络追溯行的数据,此过程会发生网络数据传输,但是量不大。对于行的追溯处理,框架底层已经做好了,程序员不要考虑。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值