2012-12-17 38 views
1

This問題回答我的問題的一部分,但不完全。有沒有一個好的庫可以幫助使用Hadoop Streaming和Python鏈接MapReduce作業?

如何運行一個腳本來管理這個腳本,它來自我的本地文件系統嗎?像MrJob或Dumbo這樣的事情到底在哪裏?有沒有更多的選擇?

我想運行K-Means,其中每個迭代(MapReduce作業)輸出將是Hadoop Streaming和Python的下一次迭代的輸入。

我沒有太多的經驗和任何信息應該幫助我做這項工作。謝謝!

回答

1

如果你不是與Python緊密結合,那麼你有一個非常好的選擇。 Cloudera有一個名爲「Crunch」的項目,可以讓我們輕鬆創建MR作業的管道。它是一個提供編寫,測試和運行MapReduce管道的框架的Java庫,它基於Google的FlumeJava庫。

1

還有另一個非python選項。 Graphlab是一個開源項目,產生的多核機和集羣上可擴展的機器學習算法免費實現。該軟件包中包含一個已實施的快速可擴展版本的Kmeans ++算法。詳情請參閱Graphlab。 graphlab的

enter image description here

聚類API可以發現here

0

似乎是一個好的應用程序Spark它也有流選項,但恐怕它只適用於Scala,但它們有Python API,肯定值得一試,使用起來並不難(至少在教程中)並且它可以擴展。

0

應該可以使用GraphLab創建(在Python)在Hadoop上運行做你的描述。 clustering toolkit可以幫助實施K-Means部分。您可以從當地的機牀座標/腳本,並使用graphlab.deploy API運行在Hadoop作業。

相關問題