Hadoop3:MapReduce源码解读之Map阶段的TextInputFormat切片机制(3)

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

参考:Hadoop3:MapReduce源码解读之Map阶段的Job任务提交流程(1)

5、TextInputFormat源码解析

类的继承关系

它的内容比较少

重写了两个父类的方法

这里关心一下泛型参数,发现是LongWritable, Text,这就是为什么之前我们开发WC案例的时候,固定传入LongWritable和Text类型的原因

说明
TextInputFormat是默认的FileInputFormat实现类。按行读取每条记录。键是存储该行在整个文件中的起始字节偏移量, LongWritable类型。值是这行的内容,不包括任何行终止符(换行符和回车符),Text类型。
例如

注意

如果我们在开发Mapper程序时,没有指定切片类,则默认选择TextInputFormat来进行切片

案例

准备4个文件

依然用wordcount代码进行演练

指定文件路径

如果,我们仅仅替换了文件源路径,那么,切片类默认选择的是TextInputFormat

根据之前学习的切片逻辑
splitSzie=32M

按照每个文件单独切片

由于,这里每个文件都是小文件,都不大于32M,所以切片数量为4个

所以,会生成4个MapTask线程来处理数据

查看执行日志:

1、切片数量日志
number of splits:4

2、查看MapTask数量
attempt_local1807000288_0001_m_000000_0

attempt_local1807000288_0001_m_000001_0

attempt_local1807000288_0001_m_000002_0

attempt_local1807000288_0001_m_000003_0

3、查看Reducer线程数量
attempt_local1807000288_0001_r_000000_0

通过日志,可以看出,和预计的一样

相关推荐
早睡冠军候选人6 小时前
SQL(结构化查询语言)的四大核心分类
大数据·数据库·sql
数据与人工智能律师8 小时前
刑法视野下的虚拟财产属性争议:法律风险与市场潜力解析
大数据·网络·人工智能·云计算·区块链
lifallen10 小时前
Hadoop MapReduce过程
大数据·数据结构·hadoop·分布式·apache
青云交12 小时前
Java 大视界 -- Java 大数据在智能教育在线课程互动优化与学习体验提升中的应用(386)
java·大数据·flink·在线课程·智能教育·互动优化·学习体验
张永清13 小时前
《数据资产管理核心技术与应用》读书笔记- 第六章-数据监控与告警(二) -如何使用Grafana和Prometheus来实现数据监控与告警
大数据·数据资产管理·数据监控·资源监控·大数据监控·数据任务监控
AutoMQ16 小时前
AutoMQ × CloudCanal:打造秒级响应的实时数据架构!
大数据
武子康19 小时前
大数据-64 Kafka 深入理解 Kafka 分区与重分配机制:高并发与高可用的核心 实机测试
大数据·后端·kafka
IT果果日记20 小时前
Apache Doris毫秒级分布式数据库引擎
大数据·数据库·后端
时序数据说20 小时前
时序数据库的功能与应用价值
大数据·数据库·物联网·时序数据库
深圳UMI1 天前
AI模型设计基础入门
大数据·人工智能