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是常用的块大小。

相关推荐
MXsoft61819 分钟前
破解多校区高校运维困局,协同效率提升60%的智能运维方案
大数据
币须赢2 小时前
英伟达Thor芯片套件9月发货 “物理AI”有哪些?
大数据·人工智能
lily363926046a2 小时前
智联未来 点赋科技
大数据·人工智能
学习中的阿陈3 小时前
Hadoop伪分布式环境配置
大数据·hadoop·分布式
程序员小羊!3 小时前
大数据电商流量分析项目实战:Spark SQL 基础(四)
大数据·sql·spark
TDengine (老段)5 小时前
TDengine 特殊函数 MODE() 用户手册
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
xiaofan6720136 小时前
大数据与财务管理专业如何转型做金融科技?
大数据·科技·金融
kaomiao20257 小时前
空间信息与数字技术和传统GIS专业有何不同?
大数据·信息可视化·数据分析
IT研究室7 小时前
大数据毕业设计选题推荐-基于大数据的健康与生活方式数据可视化分析系统-Spark-Hadoop-Bigdata
大数据·hadoop·spark·毕业设计·源码·数据可视化·bigdata
尺度商业7 小时前
2025服贸会“海淀之夜”,点亮“科技”与“服务”底色
大数据·人工智能·科技