2015-04-26 19 views
1

當我試圖瞭解hadoop體系結構時,我想弄清楚一些問題。 當有大數據輸入時,HDFS會將它分成許多卡盤(每個卡盤64MB或128MB),然後複製很多時間將它們存儲在內存塊中,對吧?hadoop如何存儲數據並使用MapReduce?

不過,我仍然不知道在什麼地方MapReduce工作。它是用來分割和合並數據來存儲它嗎?或使用它來返回一些有用的輸出?

回答

1

在HDFS存儲數據是不是與MapReduce的範例分析這是一個非常不同的事情。

當上傳到HDFS,大數據文件splited成被存儲在數據節點的塊,並且每個塊被複制多次配置的複製因子(默認爲3)。數據拆分就像將文件除以配置的塊大小一樣簡單。

MapReduce的,如說,是一種編程範式分析大數據文件時,爲了獲得增值信息。簡而言之,每個文件塊都被分配給一個map任務,以便所有的mappers在chunck上執行相同的操作;一旦完成,輸出的部分結果就會發送給reducers以便以某種方式聚合數據。

+0

Thx。所以,這意味着。如果我只想將文件存儲到HDFS中,則不會使用MapReduce。當我嘗試分析大數據時會出現MapReduce,對吧? –

+0

對,MapReduce僅用於分析數據。 – frb

+0

好的,非常感謝 –