我读到了Hadoop的HDFS,并开始知道hadoop的目的是处理较小数量的较大文件,而不是大量的小文件。关于Hadoop的大小文件的元数据
原因是,如果有较大数量的小文件,则Namenode's
内存很快就会被吃掉。我很难理解这个论点。
考虑以下情形:
1000小文件和128 MB的每一个都具有大小(HDFS块相同的块大小)。
所以,这意味着Namenode的内存中有1000个条目保存这些信息。
现在,请考虑以下情况:
一个单一的大文件,谁拥有128 MB * 1000块大小。
现在不会Namenode为这个BIG单个文件拥有1000个条目吗?
这个结论是否正确,在这两种情况下,Namenode在内存中的文件块信息都会有相同数量的条目?如果是这样,那么为什么hadoop对少量较大文件而不是大量小文件有效?
任何人都可以帮助理解这一点?
感谢您的回复,信息来源是什么?你能否让我知道,以便我可以参考相同的材料? – CuriousMind
TomWhite的Cloudera博客文章。请参阅[链接](http://blog.cloudera.com/blog/2009/02/the-small-files-problem/) – franklinsijo