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

HDFS的文件块大小(重点)

HDFS 中的文件在物理上是分块存储 (Block ) , 块的大小可以通过配置参数( dfs.blocksize)来规定,默认大小在Hadoop2.x/3.x版本中是128M,1.x版本中是64M。

如果一个文件文件小于128M,该文件会占用128M的空间吗?不是的,它只占用文件本身大小的空间,其它空间别的文件也可以用,所以这128M的含义是HDFS数据块的大小,和每个文件的大小没有关系。

把下图的流程过一下

 

思考:为什么块的大小不能设置太小,也不能设置太大?

HDFS的块设置太小,会增加寻址时间。例如,块的大小是1KB,文件大小是100KB,这时候要分100个块来存储文件,读取文件时要找到100个块的地址,会大大增加寻址时间。
如果块设置的太大,从磁盘传输数据的时间会明显大于定位这个块开始位置所需的时间。导致程序在处理这块数据时,会非常慢。比如,块的大小是1TB,传输这个1TB的数据会非常慢,并且程序处理这个1TB的数据时,也非常的慢。
总结:HDFS块的大小设置主要取决于磁盘传输速率。对于一般硬盘来说,传输速率为100M/s,一般设置块的大小128M,因为128是2的7次方,最接近于100M。固态硬盘一般传输速率为200M/s~300M/s,可以设置块大小为256M。在企业,128M和256M是常用的块大小。

http://www.lryc.cn/news/95257.html

相关文章:

  • 深度学习(二)
  • 无涯教程-jQuery - wrapInner( html )方法函数
  • 【unity之IMGUI实践】单例模式管理数据存储【二】
  • 【C++】开源:Linux端ALSA音频处理库
  • 【Linux | Shell】结构化命令2 - test命令、方括号测试条件、case命令
  • 基于单片机的语音识别智能垃圾桶垃圾分类的设计与实现
  • 最新版本docker 设置国内镜像源 加速办法
  • 深度学习——LSTM解决分类问题
  • three.js入门二:相机的zoom参数
  • sql语法树(select)实例
  • 爬虫002_python程序的终端运行_文件运行_ipython的使用---python工作笔记020
  • 智融SW3518S降压协议IC一款适合车充控制芯片
  • 虹科活动 | 虹科ADAS自动驾驶研讨会
  • LeetCode-每日一题-将数组和减半的最少操作次数
  • 97、Kafka的性能好在什么地方
  • (2)前端控制器的扩展配置, 视图解析器类型以及MVC执行流程的概述
  • GO学习之切片操作
  • YOLOv8实战口罩佩戴检测(视频教程)
  • SiddonGpu编译过程记录
  • Ubuntu 20.04使用 VNC远程桌面连接避坑指南
  • STM32MP157驱动开发——按键驱动(定时器)
  • 基于Centos 7虚拟机的磁盘操作(添加磁盘、分区、格式分区、挂载)
  • “完全指南:理解API和商品详情的作用和关系“
  • Spring Cloud Gateway - 新一代微服务API网关
  • HTTP超本文传输协议
  • React+Redux 数据存储持久化
  • Redis高可用部署架构
  • 深度学习与神经网络
  • CPU密集型和IO密集型任务的权衡:如何找到最佳平衡点
  • 超越POSIX:一个时代的终结?