Hadoop-2.4.1源码分析--MapReduce作业切片(Split)过程

       在上一篇文章《Hadoop-2.4.1源码分析--MapReduce作业(job)提交源码跟踪》中,我介绍了Job的提交过程源码,介绍的最后一个方法是submitJobInternal(Jobjob, Cluster cluster),该方法向系统提交作业(该方法不仅设置mapper数量,还执行了一些其它操作如检查输出格式等),在该方法的第394行,涉及到如下一个方法--writeSplits(),该方法是用于切片处理并且返回map任务数的,当时碍于篇幅没有细讲,今天详细的总结一下。


       进入writeSplits()方法,该方法会根据是否使用了新API选择不同的方法写,当然,此处都是使用新版API。


      进入writeNewSplits()方法,可以看出该方法首先获取splits数组信息后,排序,将会优先处理大文件。最终返回

mapper数量。这其中又分为两部分:确定切片数量写入切片信息确定切片数量的任务交由FileInputFormat的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值