2013-04-10 50 views
0

Apache Hadoop受谷歌MapReduce文件的啓發。 MapReduce的流程可以被看作兩組SIMD(單指令多數據),一個用於Mappers,另一個用於Reducers。減速器通過預定義的「鍵」消耗Mappers的輸出。 MapReduce框架(和Hadoop)的本質是自動分區數據,確定分區和並行作業的數量,並管理分佈式資源。用於非MapReduce算法的Hadoop集羣並行

我有一個通用算法(不一定MapReducable)並行運行。我沒有實現算法本身的MapReduce方式。相反,該算法只是一個單機python/java程序。我想並行運行64個程序副本(假設程序中沒有併發問題)。即我對Hadoop集羣中的計算資源比MapReduce框架更感興趣。無論如何,我可以以這種舊式的方式使用Hadoop集羣嗎?

回答

0

其他關於MapReduce的思考方式是,MR進行轉換,Reduce進行某種聚合。

Hadoop還允許僅用於Map的作業。這樣,應該可以運行並行運行的64個Map程序副本。

Hadoop具有插槽的概念。默認情況下,每個節點/機器將有2個映射和2個減少插槽。因此,對於64個並行進程,需要32個節點。如果節點具有較高端配置,則每個節點的M/R插槽數量也可以增加。