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

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

4、FileInputFormat切片源码解析

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

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

总结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/683581.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

戴尔R720服务器(3)组RAID

今天收到7块硬盘,现在共有8块硬盘了,找了个视频学习了怎么使用阵列卡组RAID并记录。 ​​ ‍ 视频参考:【戴尔服务器添加RAID5热备盘hotspare】 ‍ 阵列卡组RAID5 开始 连接iDRAC控制台服务器开机按F2进入BIOS选择Device Settings​ ​​…

数据结构之归并排序算法【图文详解】

P. S.:以下代码均在VS2019环境下测试,不代表所有编译器均可通过。 P. S.:测试代码均未展示头文件stdio.h的声明,使用时请自行添加。 博主主页:LiUEEEEE                        …

【JS】详解reduce()方法及其奇技淫巧、性能

历史小剧场 或许到人生的最后一刻,他都不知道自己为什么会死,他永远也不会知道,在这个世界上,有着许多或明或暗的规则,必须适应,必须放弃原则,背离良知,与光同尘,否则你有…

make_ext4fs:not found

报错信息: 解决: sudo apt-get install android-tools-fsutils sudo apt-get install android-sdk-libsparse-utils sudo apt-get install android-sdk-ext4-utils

代码随想录训练营Day29

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、递增子序列二、全排列三、全排列2 前言 今天是跟着代码随想录刷题的第29天,今天主要学了以下几个内容:491.递增子序列、46.全排列、…

python中实现队列功能

【小白从小学Python、C、Java】 【考研初试复试毕业设计】 【Python基础AI数据分析】 python中实现队列功能 选择题 以下代码最后一次输出的结果是? from collections import deque queue deque() queue.append(1) queue.append(2) queue.append(3) print(【显示】…

惊呆了!六西格玛培训竟然这么强大!——张驰咨询

六西格玛,这个在业界久负盛名的管理理念,它的魅力太强大了。曾听闻它能帮助企业和个人提升竞争力,但当真正走进这个培训体系时,会发现它的影响力远超你的想象。 在六西格玛的指导下,企业实现了显著的转变。之前那些看…

微软云计算[1]之云计算平台、云操作系统Windows Azure

微软云计算平台 微软云计算平台微软的云计算技术Windows Azure组成 微软云操作系统Windows AzureWindows Azure概述Windows Azure计算服务Windows Azure存储服务全局命名空间体系架构存储域的层次结构双复制引擎文件流层分区层 Windows Azure ConnectWindows Azure CDNFabric控…

第二证券股市资讯:全球第二!英伟达市值再超苹果

昨夜,英伟达股价再度大涨。‍‍‍ 当地时间6月5日周三,美股三大股指全线收涨。到收盘,道指涨0.25%,纳指涨1.96%,标普500指数涨1.18%。 经济数据方面,美国5月ADP新增工作人数15.2万人,低于预期…

python书上的动物是啥

Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC语言的一种继承。之所以选中Python作为程序的名字,是因为他是一个叫Monty Python…

【Python报错】AttributeError: ‘NoneType‘ object has no attribute ‘xxx‘

成功解决“AttributeError: ‘NoneType’ object has no attribute ‘xxx’”错误的全面指南 一、引言 在Python编程中,AttributeError是一种常见的异常类型,它通常表示尝试访问对象没有的属性或方法。而当我们看到错误消息“AttributeError: ‘NoneTyp…

基于springboot实现餐饮管理系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现餐饮管理系统演示 摘要 互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对信息管理混乱,出错率…

基于springboot实现民族婚纱预定系统项目【项目源码+论文说明】

基于springboot实现民族婚纱预定系统的设计演示 摘要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本民族婚纱预定系统就是在这样的大环境下诞生,其可…

3. 使用tcpdump抓取rdma数据包

系列文章 第1章 多机多卡运行nccl-tests 和channel获取第2章 多机多卡nccl-tests 对比分析第3章 使用tcpdump抓取rdma数据包 目录 系列文章一、准备工作1. 源码编译tcpdump2. 安装wireshark 二、Tcpdump抓包三、Wireshark分析 一、准备工作 1. 源码编译tcpdump 使用 tcpdump…

一、【源码】创建简单的映射器代理工厂

源码地址:https://github.com/mybatis/mybatis-3/ 仓库地址:https://gitcode.net/qq_42665745/mybatis/-/tree/01-xxxDao-proxy 创建简单的映射器代理工厂 执行xxxDao.method()时都做了些什么? 原理是:首先定义Dao接口&#xff…

一周学会Django5 Python Web开发 - Django5内置Auth认证系统-用户登录实现

锋哥原创的Python Web开发 Django5视频教程: 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计57条视频,包括:2024版 Django5 Python we…

企业购买一套ABAQUS需要多少钱?ABAQUS价格解析

在高性能仿真分析领域,ABAQUS软件凭借其强大的非线性分析能力、精确的求解精度以及广泛的应用范围,成为众多企业和研究机构的首选工具。然而,对于想要采购ABAQUS的企业来说,了解其价格体系是做出投资决策前的关键一步。亿达四方&a…

增值税发票OCR识别功能介绍

OCR增值税发票识别功能介绍如下: 一、技术原理 OCR增值税发票识别系统基于光学字符识别(OCR)技术和人工智能的支持,将传统纸质发票的信息自动转换为计算机可以读取的数字信息。具体技术流程包括: 图像预处理&#x…

Spring Boot项目中,如何在yml配置文件中读取maven pom.xml文件中的properties标签下的属性值

一、前言 在最近的项目开发过程中&#xff0c;有一个需求&#xff0c;需要在Spring Boot项目的yml配置文件中读取到mave的 pom.xml文件中的properties标签下的属性值&#xff0c;这个要怎么实现呢&#xff1f; 二、技术实践 pom.xml文件中增加测试属性 <properties><…

Vue06-el与data的两种写法

一、el属性 用来指示vue编译器从什么地方开始解析 vue的语法&#xff0c;可以说是一个占位符。 1-1、写法一 1-2、写法二 当不使用el属性的时候&#xff1a; 两种写法都可以。 v.$mount(#root);写法的好处&#xff1a;比较灵活&#xff1a; 二、data的两种写法 2-1、对象式…