2013-02-11 102 views
1

有沒有人知道我可以如何轉換Mahout in Action書中關於推薦引擎的代碼,以便它符合Ηadoop完全分佈式環境?我的主要困難是轉換我的代碼(目前從本地磁盤讀取和寫入),以便它在僞分佈式環境(如Cloudera)中運行。我的問題的解決方案就像this one一樣簡單,或者我應該期待比這更復雜的東西?Mahout推薦引擎:正在分發

回答

3

即使在計算相同的結果時,真正的分佈式計算與非分佈式計算完全不同。結構不一樣,它使用的基礎設施也不一樣。

如果您只是詢問僞分佈式解決方案如何處理本地文件:您將忽略Hadoop輸入/輸出機制並編寫一個Mapper,它從HDFS某處讀取輸入並將其複製到本地磁盤。

如果您問的是如何實際分配計算,那麼您將不得不切換到在項目中使用(完全不同)分佈式實現。這些實際上使用Hadoop來分割計算。上述過程只是在Hadoop容器中運行許多非分佈式任務。但是,這些實現完全脫機。

如果你的意思是你想要一個像Mahout .cf.taste包那樣的實時推薦器,但也想實際使用Hadoop的分佈式計算能力,那麼你需要的不僅僅是Mahout。這是Mahout中的一個或另一個;有一個或另一個代碼,但它們不相關。順便說一下,這正是Myrrix。我不介意在這裏宣傳它,因爲它聽起來像你正在尋找的東西。這是我在Mahout代碼中開始的工作的演變。除此之外,它是一個具有Taste實時元素的雙層體系結構,但也可以將計算透明地卸載到Hadoop集羣。

+1

謝謝你的啓發答案! – user706838 2013-02-11 14:49:10