hadoop設計的目的主要包括下面幾個方面,也就是所謂的适用場景:
1:超大檔案
可以是幾百m,幾百t這個級别的檔案。
2:流式資料通路
hadoop适用于一次寫入,多次讀取的場景,也就是資料複制進去之後,長時間在這些資料上進行分析。
3:商業硬體
也就是說大街上到處都能買到的那種硬體,這樣的硬體故障率較高,是以要有很好的容錯機制。
接下來說說不适用的場景:
1: 低延遲資料通路
hadoop設計的目的是大吞吐量,是以并沒有針對低延遲資料通路做一些優化,如果要求低延遲, 可以看看hbase。
2: 大量的小檔案
由于namenode把檔案的metadata存儲在記憶體中,是以大量的小檔案會産生大量的metadata。這樣的話百萬級别的檔案數目還是可行的,再多的話就有問題了。
3: 多使用者寫入,任意修改
hadoop現在還不支援多人寫入,任意修改的功能。也就是說每次寫入都會添加在檔案末尾。
本文作者:佚名
來源:51cto