当前位置: 首页 > news >正文

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
在这里插入图片描述
通过日志,可以看出,和预计的一样

相关文章:

  • mysql如何处理无效数据
  • DALL-E 2之学习心得
  • 事务 ---- mysql
  • 体验SmartEDA:颠覆传统,设计流程更流畅,超越Multisim与Proteus!
  • 视觉SLAM十四讲:从理论到实践(Chapter12:建图)
  • python-小游戏-弹球对决
  • 鸿蒙轻内核M核源码分析系列九 互斥锁Mutex
  • 如何查询公网IP?
  • 初级软件测试快速入门
  • 倩女幽魂游戏攻略:24小时辅助云手机选哪家好?
  • SpringBootWeb 篇-深入了解 AOP 面向切面编程与 AOP 记录操作日志案例
  • 2024年10大AI动画工具
  • 【乐吾乐2D可视化组态编辑器】实时数据,数据绑定
  • 自考搜题网?5个大学生必备的搜题 #其他#其他#媒体
  • 数据分析中的统计学基础及Python具体实现【数据分析】
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • 【剑指offer】让抽象问题具体化
  • idea + plantuml 画流程图
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • KMP算法及优化
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 浮动相关
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 使用 @font-face
  • 数组大概知多少
  • 项目管理碎碎念系列之一:干系人管理
  • 小程序开发中的那些坑
  • 与 ConTeXt MkIV 官方文档的接驳
  • ​TypeScript都不会用,也敢说会前端?
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • #控制台大学课堂点名问题_课堂随机点名
  • (3) cmake编译多个cpp文件
  • (4)logging(日志模块)
  • (C++17) std算法之执行策略 execution
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (二开)Flink 修改源码拓展 SQL 语法
  • (佳作)两轮平衡小车(原理图、PCB、程序源码、BOM等)
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET C# 使用GDAL读取FileGDB要素类
  • .NET Core实战项目之CMS 第十二章 开发篇-Dapper封装CURD及仓储代码生成器实现
  • .NET 中让 Task 支持带超时的异步等待
  • .NET委托:一个关于C#的睡前故事
  • .NET项目中存在多个web.config文件时的加载顺序
  • .NET性能优化(文摘)
  • .one4-V-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复
  • /bin/rm: 参数列表过长"的解决办法
  • @31省区市高考时间表来了,祝考试成功
  • @Transactional类内部访问失效原因详解
  • @WebService和@WebMethod注解的用法
  • [ C++ ] 类和对象( 下 )
  • [20171106]配置客户端连接注意.txt
  • [AutoSar]BSW_OS 02 Autosar OS_STACK