Hadoop 文件的数量怎么比block的数量多?

时间:2023-03-09 18:08:51
Hadoop 文件的数量怎么比block的数量多?

Total files:    23
Total symlinks:        0
Total blocks (validated):    22 (avg. block size 117723 B)
Minimally replicated blocks:    22 (100.0 %)
Over-replicated blocks:    0 (0.0 %)
Under-replicated blocks:    0 (0.0 %)
Mis-replicated blocks:        0 (0.0 %)
Default replication factor:    2
Average block replication:    2.0
Corrupt blocks:        0
Missing replicas:        0 (0.0 %)
Number of data-nodes:        2
Number of racks:        1
FSCK ended at Sun Dec 06 13:17:09 CST 2015 in 20 milliseconds

有一次,同事问我说,文件数怎么比block数目还要多,这正常吗?
当时查看的情况是文件数一千多万,block的总数不到一千万。
我当时也没想出原因。现在知道了,并不是我们想的,block的数量应该是文件的数量* 复本数
这里fsck 给出的数据是这样理解的,block数量不是总的复本数,文件按block大小划分的数量。
而且我们在执行mapreduce的时候,会生成sucess之类的标识文件,这样的文件是空的,不算block
所以文件的数量会比block数量多,这是正常的。