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

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

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

4、FileInputFormat切片源码解析

切片入口

获取切片数

获取最大和最小切片数

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

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

计算切片大小

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

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

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

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

生成临时切片文件

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

总结

FileInputFormat类的继承关系

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

整体流程梳理

相关推荐
jlting1956 分钟前
读取mysql、kafka数据筛选后放入mysql
大数据·sql·mysql·flink·kafka·database
Mephisto.java1 小时前
【大数据学习 | Spark-Core】RDD的五大特性(包含宽窄依赖)
大数据·学习·spark
十二点的泡面1 小时前
spark 写入mysql 中文数据 显示?? 或者 乱码
大数据·mysql·spark
二进制_博客2 小时前
Yarn中多队列的配置以及更换公平调度器
大数据
zmd-zk3 小时前
kafka命令的使用——主题命令(topic)
大数据·分布式·学习·kafka
易云码4 小时前
医疗数据质量安全,数据安全解决方案,医院关心的数据安全问题,信息安全方案(Word原件)
大数据·数据仓库·安全·系统安全·智慧城市
Natural_yz4 小时前
大数据学习18之Spark-SQL
大数据·学习·spark
Yz98766 小时前
Hive的基础函数
大数据·数据仓库·hive·hadoop·数据库开发·big data
李昊哲小课6 小时前
springboot整合hive
大数据·数据仓库·hive·spring boot·后端·数据分析
Mephisto.java6 小时前
【大数据学习 | Spark-Core】Spark中的join原理
大数据·redis·sql·oracle·spark·json·database