Hadoop之block切片

news2024/11/25 7:19:50

切片是一个逻辑概念 在不改变现在数据存储的情况下,可以控制参与计算的节点数目 通过切片大小可以达到控制计算节点数量的目的 有多少个切片就会执行多少个Map任务

hdfs上数据存储的一个单元,同一个文件中块的大小都是相同的
因为数据存储到HDFS上不可变,所以有可能块的数量和集群的计算能力不匹配 我们需要一个动态调整本次参与计算节点数量的一个单位,因此引入了切片的逻辑概念

切片的默认大小是与block块的大小相同,

查看源码分析

源码中FileInputFormat组件中的getSplits方法
在这里插入图片描述

minsize和maxsize分别获取切片的最大值和最小值

获取最小值

long minSize = Math.max (getFormatMinSplitSize(),getMinSplitsize(job));
在这里插入图片描述
getFormatMinSplitSize() =1
在这里插入图片描述
其中配置文件中SPLIT_MINSIZE没有进行设置,默认值为1,因此getMinSplitsize(job)=1
那么可以得到long minSize= Math.max(1,1),即最小值为1;

获取最大值

long maxSize= getMaxSplitSize(job);
在这里插入图片描述
SPLIT_MINSIZE一样,配置文件中没有对SPLIT_MAXSIZE进行设置,而Long.MAX_VALUE即Long的最大值9223372036854775807L为
maxSize=9223372036854775807L
因此long maxSize= 9223372036854775807L

在这里插入图片描述
long blockSize = file.getBlockSize();block块的默认大小为128MB
long splitSize = computeSplitSize(blockSize,minSize, maxSize);其中三个参数的默认值分别为128MB , 1 , Long最大值

computeSplitSize源码如下
在这里插入图片描述

Math.max(minSize, Math.min(maxSize, blockSize))
根据以上源码可以得知.
minSize= 1
Math.min=128MB
返回值为较大值128,因此切片的默认大小为128MB

设置切片大小

可以使用如下方法进行设置
在这里插入图片描述

注意事项

在这里插入图片描述
根据上面源码返回的值可以得知在设置时需要注意:
由于block块即blockSize的默认大小为128MB,如果要设置切片大小小于128MB时,将值赋给minSize=64,如下:
Math.max(64,Math.min(1,128))
会发现此时切片大小设置失败仍然为默认值128MB,同理将切片大小调整大于128MB时赋值给maxSize也会设置失败
因此在在设置时:
1、如果需要将切片大小调整小于128MB,需要赋值给maxSize
2、如果需要将切片大小调整大于128MB,则需要赋值给minSize
如果记不清楚在实践时可以同时赋值给maxSize和minSize`

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Qt--QString字符串类、QTimer定时器类

目录 1. QString 字符串类 dialog.cpp 2. 容器类 2.1 顺序容器 QList 示例代码: student.h student.cpp dialog.h dialog.cpp 运行结果: 2.2 关联容器 QMap 示例代码: dialog.h dialog.cpp 运行结果: 3. Qt类型 3.1 跨平台数据类型…

中断相关内容大全

中断基本概念:程序中断指计算机执行现行程序过程中,出现某种急需处理的异常情况或特殊请求,CPU暂时中止现行程序,而转去对这些异常情况或特殊请求进行处理,处理完毕后CPU又自动返回到现行程序的断点处,继续…

【刷题之路】LeetCode24——详解两两交换链表中的结点的细节

一、题目描述 原题链接:https://leetcode.cn/problems/swap-nodes-in-pairs/comments/ 题目描述:给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即&am…

linux下将结果保存为图片,因为服务器是命令行界面,无法弹出窗口

解决方法来自GitHub:https://github.com/open-mmlab/mmdetection/issues/1405 The code below can show and save image with result. import mmcv import cv2 from mmcv.runner import load_checkpoint from mmdet.models import build_detector from mmdet.apis i…

C语言结构体位域

目录 一、C语言位域是什么? 二、位域详解 定义格式: 1. 数据类型排序改变,位域长度不变 2. 数据类型排序不变,位域长度改变 3.根据以上代码的验证可以得出以下计算位域结构体数据的方法: 三.位域的结构体数据如何进行print…

感恩有你:毕业论文致谢部分写作指南

现在正值毕业论文写作最后收尾阶段,估计很多同学开始各处收集如何写致谢这个部分。之前写过一篇文章中引用一位导师的“抱怨”,文章题目为“211导师深夜含泪发文:在你长达5万字的毕业论文中,我最欣赏致谢部分”,所以为…

Java面试题spring

Spring 1、不同版本的 Spring Framework 有哪些主要功能? 2、什么是 Spring Framework? Spring 是一个开源应用框架,旨在降低应用程序开发的复杂度。它是轻量级、松散耦合的。 它具有分层体系结构,允许用户选择组件&#xff0c…

国考省考行测:资料分析题,年均增长量

国考省考行测:资料分析题,年均增长量 2022找工作是学历、能力和运气的超强结合体! 公务员特招重点就是专业技能,附带行测和申论,而常规国考省考最重要的还是申论和行测,所以大家认真准备吧,我讲一起屡屡申…

Docker基础篇

1、为什么Docker比VM快 2、帮助启动类命令 启动类命令 启动docker: systemctl start docker停止Docker: systemctl stop docker重启Docker: systemctl restart docker查看状态: systemctl status docker设置开机自启&#x…

stable diffusion webui 教程:安装与入门

stable diffusion webui 安装与入门 一、源码仓库二、模型库地址三、在 Windows 上自动安装步骤安装Python安装git下载源代码编辑 webui-user.bat 四、如何打开五、依据文字生成图片六、API在哪里?七、用python调用API接口示例八、如何制作生成精美的图片1、下载模型…

Qt--多窗口编程

目录 1. QMessageBox 消息对话框(掌握) 示例代码: dialog.h dialog.cpp dialog.ui 运行结果: 2. 窗口类继承关系 dialog.cpp 3. QMainWindow 主窗口类 3.1 QMenuBar 菜单栏 3.2 QToolBar 工具栏 3.3 QWidget 中心组件 3.4 QStatu…

外强中干——双向带头循环链表

前言:众所周知,链表有八种结构,由单向或双向,有头或无头,循环或不循环构成。在本篇,将介绍8种链表结构中最复杂的——双向带头循环链表。听着名字或许挺唬人的,但实际上双向带头循环链表实现起来…

九盾安防智能叉车管理系统告诉你叉车电池安全使用的十要点

叉车电池是叉车的动力源,对于保证叉车安全运行具有非常重要的作用。但是,叉车电池在使用过程中也会存在一些安全问题,如果使用不当可能会引起严重后果。下文就九盾安防智能叉车管理系统介绍叉车电池安全使用的十要点。 一、保证通风良好。在使…

课程《JavaWeb基础框架程序设计》考试题下篇——数据库与表单操作用题(人事管理平台的添加员工档案信息的操作题)

文章目录 📋前言🎯第三题(40分)🎯报错以及解决方法📝最后 📋前言 这篇文章是大学课程《JavaWeb基础框架程序设计》考试题目的内容,包括了原题和答案。题目只包括了三道编程题&#…

2直接连接的网络与VLAN划分-2.3【实验】【计算机网络】

2直接连接的网络与VLAN划分-2.2-2.3【实验】【计算机网络】 前言推荐2直接连接的网络与VLAN划分2.1共享式以太网和交换式以太网2.2交换机MAC地址表建立与帧转发2.3 STP工作过程实验目的实验内容及实验环境实验原理物理环路引发的问题1:广播风暴物理环路引发的问题2:MAC地址表翻…

ChatGPT之公文写作

公务文章主要适用于政府部门、机关、事业单位以及其他公共组织的文件、公告、通知等文稿。 根据《党政机关公文处理工作条例》,公文种类主要有15种。按照行文流向,可以分为上行文、平行文、下行文。 1、上行文:请示、报告、意见。 2、平行…

Qt 文件IO

目录 1. QFileDialog 文件选择对话框 示例代码 dialog.h dialog.cpp dialog.ui 运行效果: 2. QFileInfo 文件信息类 dialog.cpp 3. QFile 文件读写类 UI与耗时操作 QThread 线程类 1 复现阻塞 dialog.h dialog.cpp 2.新建并启动子线程 mythread.h mythread.cpp dial…

Py之tf2onnx:tf2onnx库的简介、安装、使用方法之详细攻略

Py之tf2onnx:tf2onnx库的简介、安装、使用方法之详细攻略 目录 tf2onnx库的简介 tf2onnx库的安装 tf2onnx库的使用方法 1、基础用法 tf2onnx库的简介 tf2onnx是一个将TensorFlow(tf-1.x或tf-2.x)、keras、tensorflow.js和tflite模型转换…

【python安装】linux环境安装python

linux环境安装python 小白都能看懂的python安装前置步骤下载python安装python 小白都能看懂的python安装 前置步骤 使用 python -V 或者 python -version 查看是否安装python如果Linux有python3需要更新指定版本的话,先把自带的删除,输入 rpm -qa|grep…

JavaScript通过js的方式来计算平行四边形的面积的代码

以下为通过js的方式来计算平行四边形的程序代码和运行截图 目录 前言 一、通过js的方式来计算平行四边形(html部分) 1.1 运行流程及思想 1.2 代码段 二、通过js的方式来计算平行四边形(js部分) 2.1 运行流程及思想 2.2 代码…