Hadoop3:MapReduce之MapTask的FileInputFormat的切片原理解读(2)

Job那块的断点代码截图省略,直接进入切片逻辑

参考:Hadoop3:MapReduce之MapTask的Job任务提交流程原理解读(1)

4、FileInputFormat切片源码解析

切片入口

获取切片数

获取最大和最小切片数

判断文件是否可以切片,如果文件不支持切片,则整体处理

这里只考虑支持切片的代码逻辑

计算切片大小

根据切片大小配置,及块大小配置,计算出切片大小

此处可以看出,如果块大小配置在切片大小之间的值,则切片大小取块大小。

这里可以看出,切片是对每一个文件单独计算的,不是把所有文件累加到一起的大小进行计算切片数量。

切片的又一个代码限制。
如果,文件大小小于切片大小的1.1倍,则不增加切片。

生成临时切片文件

创建配置信息文件到临时文件夹中

总结

FileInputFormat类的继承关系

主要关注该类里面的getSplits方法

整体流程梳理

相关推荐
weixin_3077791323 分钟前
AWS EMR上的Spark日志实时搜索关键指标网页呈现的设计和实现
大数据·python·spark·云计算·aws
一张假钞3 小时前
Spark的基本概念
大数据·分布式·spark
一张假钞3 小时前
Spark On Yarn External Shuffle Service
大数据·分布式·spark
Elastic 中国社区官方博客16 小时前
使用真实 Elasticsearch 进行高级集成测试
大数据·数据库·elasticsearch·搜索引擎·全文检索·jenkins·集成测试
好记性+烂笔头16 小时前
4 Spark Streaming
大数据·ajax·spark
好记性+烂笔头20 小时前
3 Flink 运行架构
大数据·架构·flink
字节侠20 小时前
Flink2支持提交StreamGraph到Flink集群
大数据·flink·streamgraph·flink2·jobgraph
好记性+烂笔头1 天前
4 Hadoop 面试真题
大数据·hadoop·面试
好记性+烂笔头1 天前
10 Flink CDC
大数据·flink