今天吃中饭时同事提到这个问题,刚好最近在学习Hadoop,还真不知道为什么,晚上查了下,主要有这样几种原因:
1、任何一个文件,目录和block,在HDFS中都会被表示为一个object存储在namenode的内存中,每一个object占用150 bytes的内存空间,当文件非常多时内存会爆掉;
2、Map-Reduce分解后会有很多MapTask处理小文件,总的处理时间相对于大文件来说会高;
3、
跑在HDFS
上的应用与一般的应用不同,它们主要是以流式读为主,做批量处理;比 之关注数据访问的低延迟问题,更关键的在于数据访问的高吞吐量。
软件的使用还是得取决于应用,每一个软件都有自己拿手的绝活,而这也可能是其致命伤。
参考地址:
http://dennis-zane.javaeye.com/blog/200508
http://hi.chinaunix.net/?uid-20651567-action-viewspace-itemid-32134
原文网址:http://rickylee86.blog.163.com/blog/static/6022545220102300334248/