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

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

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

4、FileInputFormat切片源码解析

切片入口

获取切片数

获取最大和最小切片数

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

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

计算切片大小

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

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

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

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

生成临时切片文件

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

总结

FileInputFormat类的继承关系

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

整体流程梳理

相关推荐
武子康9 小时前
大数据-240 离线数仓 - 广告业务 Hive ADS 实战:DataX 将 HDFS 分区表导出到 MySQL
大数据·后端·apache hive
字节跳动数据平台1 天前
5000 字技术向拆解 | 火山引擎多模态数据湖如何释放模思智能的算法生产力
大数据
武子康1 天前
大数据-239 离线数仓 - 广告业务实战:Flume 导入日志到 HDFS,并完成 Hive ODS/DWD 分层加载
大数据·后端·apache hive
字节跳动数据平台2 天前
代码量减少 70%、GPU 利用率达 95%:火山引擎多模态数据湖如何释放模思智能的算法生产力
大数据
得物技术2 天前
深入剖析Spark UI界面:参数与界面详解|得物技术
大数据·后端·spark
武子康2 天前
大数据-238 离线数仓 - 广告业务 Hive分析实战:ADS 点击率、购买率与 Top100 排名避坑
大数据·后端·apache hive
武子康3 天前
大数据-237 离线数仓 - Hive 广告业务实战:ODS→DWD 事件解析、广告明细与转化分析落地
大数据·后端·apache hive
大大大大晴天3 天前
Flink生产问题排障-Kryo serializer scala extensions are not available
大数据·flink
武子康5 天前
大数据-236 离线数仓 - 会员指标验证、DataX 导出与广告业务 ODS/DWD/ADS 全流程
大数据·后端·apache hive
武子康6 天前
大数据-235 离线数仓 - 实战:Flume+HDFS+Hive 搭建 ODS/DWD/DWS/ADS 会员分析链路
大数据·后端·apache hive