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

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

相关推荐
不是笨小孩i1 小时前
Git常用指令
大数据·git·elasticsearch
howard20051 小时前
大数据概念与价值
大数据·特征·概念·价值
知识分享小能手2 小时前
mysql学习教程,从入门到精通,SQL DISTINCT 子句 (16)
大数据·开发语言·sql·学习·mysql·数据分析·数据库开发
紫钺-高山仰止2 小时前
【脑机接口】脑机接口性能的电压波形的尖峰分类和阈值比较
大数据·分类·数据挖掘
Alluxio2 小时前
选择Alluxio来解决AI模型训练场景数据访问的五大理由
大数据·人工智能·分布式·ai·语言模型
武子康3 小时前
大数据-133 - ClickHouse 基础概述 全面了解
java·大数据·分布式·clickhouse·flink·spark
shuxianshrng4 小时前
大气网格化精细化监管监测系统
大数据·服务器·windows·经验分享
aqymnkstkw4 小时前
2024年【电气试验】考试题库及电气试验模拟试题
大数据·c语言·人工智能·嵌入式硬件·安全
环能jvav大师5 小时前
基于R语言的统计分析基础:使用dplyr包进行数据操作
大数据·开发语言·数据分析·r语言
不睡懒觉的橙7 小时前
【医疗大数据】医疗保健领域的大数据管理:采用挑战和影响
大数据·人工智能·信息可视化·人机交互·健康医疗