hadoop的block大小的原因
HDFS中的文件在物理上是分块存储的,快的大小可以通过配置参数来规定,默认在hadoop2版本中是128M,老版本是64M。
128M是由于大部分磁盘的传输速率决定的,一些大厂提高磁盘的传输速率从而将块的大小设置为256M的大小,目前普遍为128M;
块的过大和过小带来的影响:
1、块过小
当一个问价较大时,此时就会产生数量巨多的块,则在程序执行时会大量增加寻址时间。
2、快过大
如果快设置过大,从磁盘传输的时间会明显大于定位这个快开始位置的时间。导致程序在处理这块数据时,会特别慢,不利于多个MapTsk执行一个件。
上文说的block大小为集群环境下的block大小:
通过debugmr程序是发现本地环境下hadoop的block大小为32M