Hadoop不是万能的,有些场景适用,有些不适用。
Hadoop设计的目的主要包括下面几个方面,也就是所谓的适用场景:
1:超大文件
可以是几百M,几百T这个级别的文件。
2:流式数据访问
Hadoop适用于一次写入,多次读取的场景,也就是数据复制进去之后,长时间在这些数据上进行分析。
3:商业硬件
也就是说大街上到处都能买到的那种硬件,这样的硬件故障率较高,所以要有很好的容错机制。
接下来说说不适用的场景:
1: 低延迟数据访问
Hadoop设计的目的是大吞吐量,所以并没有针对低延迟数据访问做一些优化,如果要求低延迟, 可以看看Hbase。
2: 大量的小文件
由于NameNode把文件的MetaData存储在内存中,所以大量的小文件会产生大量的MetaData。这样的话百万级别的文件数目还是可行的,再多的话就有问题了。
3: 多用户写入,任意修改
Hadoop现在还不支持多人写入,任意修改的功能。也就是说每次写入都会添加在文件末尾。
本文探讨了Hadoop的设计目的及其应用场景,包括处理超大文件、流式数据访问及使用商业硬件的情况,并指出了Hadoop不适用于低延迟数据访问、大量小文件处理及多用户写入与任意修改的限制。
623

被折叠的 条评论
为什么被折叠?



