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

相关推荐
2021_fc25 分钟前
Flink笔记
大数据·笔记·flink
Light601 小时前
数据要素与数据知识产权交易中心建设专项方案——以领码 SPARK 融合平台为技术底座,构建可评估、可验证、可交易、可监管的数据要素工程体系
大数据·分布式·spark
zyxzyx491 小时前
AI 实战:从零搭建轻量型文本分类系统
大数据·人工智能·分类
五阿哥永琪2 小时前
SQL中的函数--开窗函数
大数据·数据库·sql
程序员小羊!2 小时前
数仓数据基线,在不借助平台下要怎么做?
大数据·数据仓库
火山引擎开发者社区3 小时前
两大模型发布!豆包大模型日均使用量突破 50 万亿 Tokens
大数据·人工智能
Hello.Reader4 小时前
Flink SQL 的 UNLOAD MODULE 模块卸载、会话隔离与常见坑
大数据·sql·flink
禾高网络4 小时前
互联网医院系统,互联网医院系统核心功能及技术
java·大数据·人工智能·小程序
AI营销实验室4 小时前
原圈科技AI CRM系统:数据闭环与可视化革新的行业突破
大数据·人工智能
Deepoch5 小时前
仓储智能化新思路:以“渐进式升级”破解物流机器人改造难题
大数据·人工智能·机器人·物流·具身模型·deepoc·物流机器人