HDFS文件块大小

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

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

  1. HDFS的块设置太小会增加寻址时间,程序一直在找块的位置;
  2. 如果块设置的太大,从磁盘传输数据的时间会明显大于定位这个块开始位置所需要的时间。导 致程序在处理这块数据时,会非常慢。

总结:HDFS块的大小主要取决于磁盘传输速率。

hdfs中block为什么设置为128MB:

        hdfs中的平均寻址时间为10ms,而传输速率普遍为100MB/s而在大量测试中得出寻址时间为传输时间的1%时,为最佳状态

        通过计算最佳传输时间=10ms/0.01=1s,进一步计算出Block块大小=1s*100MB=100MB,而我们磁盘block块的大小都是2^n倍,所以设置hdfs中的blcok大小为128MB,但是很多情况下HDFS安装时使用更大的块。以后随着新一代磁盘驱动器传输速率的提升,块的大小会被设置得更大。

但是这个参数也不会设置得过大。MapReduce中的map任务通常一次只处理一个块中的数据,因此如果任务数太少(少于集群中的节点数量),作业的运行速度就会比较慢。

如果block设置过大:在MapReduce中的map任务通常一次只处理一个块中的数据,因此设置的过大就会使作业的运行速度较慢

hdfs中小于blcok块大小的文件如何存储:当所存储的文件小于block块的大小时,它并不会占用整个block块的大小,只会占用它的实际存储大小

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值