HDFS文件块大小
取决于硬盘读写速度
在企业中,一般128M(中小型公司)256M(大公司)
分块机制:
HDFS中的文件在物理上是分块存储,块的大小可通过配置参数来规定
默认128M 基于最佳传输损耗理论
不论对磁盘的文件进行读还是写,都需要进行寻址,所以块设置不能太大也不能太小,HDFS的块设置太小,会增加寻址时间,程序会一直在
找一个块(block)的开始位置;如果块设置的太大,从磁盘传输数据的时间会明显大于定位这个块开始位置所需的时间。导致程序在处理这块数据时,会非常慢。因此,HDFS块的大小设置主要取决于磁盘传输速率。
最佳传输损耗理论:在一次传输中,寻址时间占用总传输时间的1%时,本次传输的损耗最小,为最佳性价比传输!
目前硬件发展条件,普通磁盘写的速率大概为100M/s,寻址时间为10ms
10ms / 1% = 1s
1s*100M/s = 100M
块在传输时,每64K还需要校验一次,因此块大小必须为2的n次方,最接近100M的就是128M。
Hadoop1.x时代默认的块大小实际为64MB,但是从Hadoop2.x时代开始到Hadoop3.x时代,HDFS使用128MB的块设置。