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

相关推荐
Achou.Wang13 小时前
《从零实现cobra》手写一个 mini 版 Cobra
大数据·elasticsearch·搜索引擎
BGK11235814 小时前
基于qemu_v8+optee 4.00 平台构建 ca/ta
java·大数据·数据库
工业HMI实战笔记15 小时前
【无标题】
大数据·人工智能·ui·自动化·人机交互·交互
大模型码小白16 小时前
向量化引擎与 AI 排障:当 SIMD 遇到异常检测,存储诊断的范式转移
java·大数据·数据库·人工智能·python
雪碧聊技术17 小时前
中国可重复使用火箭首次成功着陆——航天“降本时代”正式开启
大数据·人工智能
Geoffwo17 小时前
通用动作意念脑电信号高度相似的理论依据
大数据·人工智能
techdashen17 小时前
不用再反复 stash:用 Git Worktree 同时开发多个分支
大数据·git·elasticsearch
科技圈快迅17 小时前
新工科保研机构怎么选?垂直辅导与综合型服务模式差异解析
大数据·人工智能
大模型丫丫18 小时前
Agent开发的难点是什么呢?
大数据·人工智能·学习
在深圳创业的何仙姑18 小时前
2026 深圳跨境财税服务商筛选参考|行业风险规避实操指南
大数据·人工智能·跨境电商·财税