Hadoop3:MapReduce源码解读之Map阶段的FileInputFormat的切片原理(2)

Job那块的断点代码截图省略,直接进入切片逻辑
参考:Hadoop3:MapReduce源码解读之Map阶段的Job任务提交流程(1)

4、FileInputFormat切片源码解析

切片入口
在这里插入图片描述
获取切片
在这里插入图片描述
获取切片最大的Size和切片最小的Size
在这里插入图片描述
判断文件是否可以切片,如果文件不支持切片,则整体处理
这里只考虑支持切片的代码逻辑
在这里插入图片描述
根据切片大小配置,及块大小配置,计算出切片最终取值
在这里插入图片描述
此处可以看出,如果块大小配置在切片大小之间的值,则切片大小取块大小。
在这里插入图片描述
这里可以看出,切片是对每一个文件单独计算的,不是把所有文件累加到一起的大小进行计算切片数量。
在这里插入图片描述

切片的一个代码层面的处理逻辑。
如果,文件大小小于切片大小的1.1倍,则不增加切片。
然后根据splitSize值去划分数据块
在这里插入图片描述
生成临时切片文件
在这里插入图片描述
创建配置信息文件到临时文件夹中
在这里插入图片描述

总结

FileInputFormat类的继承关系
在这里插入图片描述
主要关注该类里面的getSplits方法
在这里插入图片描述
整体流程梳理
在这里插入图片描述在这里插入图片描述
常用API
在这里插入图片描述

最近更新

  1. TCP协议是安全的吗?

    2024-06-09 19:26:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-09 19:26:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-09 19:26:04       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-09 19:26:04       20 阅读

热门阅读

  1. Spring Bean的创建过程通常遵循以下步骤:

    2024-06-09 19:26:04       7 阅读
  2. iOS Hook 崩溃

    2024-06-09 19:26:04       8 阅读
  3. 9.0 Android中的网络技术

    2024-06-09 19:26:04       9 阅读
  4. 一个python 程序执行顺序

    2024-06-09 19:26:04       10 阅读
  5. LeetCode 1193, 45, 48

    2024-06-09 19:26:04       9 阅读
  6. IO数据流

    2024-06-09 19:26:04       9 阅读
  7. antd DatePicker 日期 与 时间 分开选择

    2024-06-09 19:26:04       10 阅读