hadoop中的hdfs数据块为什么这么大

HDFS的块比磁盘的块大,其目的是为了最小化寻址开销,如果快设置的足够大,从磁盘传输数据的时间会明显大于定位这个块开始位置所需的时间,因而,传输一个由多个块组成的文件的时间取决于磁盘传输速率。

我们来做个速算,如果寻址的时间约为10ms,而传输速率为100MB/s,为了使寻址时间仅占传输时间的1%,我们要将块大小设置为100mb。默认是128已经是很接近了,以后随着新一代磁盘驱动器传输速率的提升下,块的大小将被设置的更大。

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

猜你喜欢

转载自blog.csdn.net/weixin_41122339/article/details/81609168