我讀過Mahout是在Hadoop上開發的,我們可以使用Mahout,也可以不使用Hadoop。說Mahout算法可以在Hadoop上運行是什麼意思? Mahout算法不是用Map-Reduce的形式編寫的嗎?可以用一個例子向我解釋一下嗎?Mahout是什麼意思構建在Hadoop上?
謝謝!
我讀過Mahout是在Hadoop上開發的,我們可以使用Mahout,也可以不使用Hadoop。說Mahout算法可以在Hadoop上運行是什麼意思? Mahout算法不是用Map-Reduce的形式編寫的嗎?可以用一個例子向我解釋一下嗎?Mahout是什麼意思構建在Hadoop上?
謝謝!
你看源代碼嗎?算法被實現爲Map/Reduce作業(不是全部,但大部分都是這樣),這就是爲什麼要做出這個聲明。
Mahout有兩個版本是非分佈式和分佈式的。有一些基本的分佈式(Hadoop)實現可用,如ItemBased Collaborative Filtering。默認分發的限制是,如果您的評分數據的用戶ID和商品ID爲字母數字,那麼您需要自定義它。
如果你想實現一些自定義算法,那麼你將不得不編寫Mapper和Reducers,甚至是調用它們的代碼。
我使用我的自定義Map和Reduce任務覆蓋了org.apache.mahout.cf.taste.hadoop.item.RecommenderJob。
請大家糾正我,如果我錯了。
我已經通過GenericUserBasedRecommender的代碼,看到它不是在Map-Reduce窗體中,這是否意味着它沒有在Hadoop上實現? –
在這種情況下,我可以理解GenericUserBasedRecommender是一個普通的Java代碼,我可以將其轉換爲Map-Reduce代碼並在Hadoop上運行。請讓我知道我的理解是否正確。 –
也有基於Hadoop的版本。你可以寫任何你想要的 –