2011-09-01 48 views
2

什麼是MapReduce框架或庫的最佳Python實現,可能與Apache hadoop一樣好,但是如果只是它在Python中,並且在良好的記錄和易於理解方面最好,完全實現了MapReduce模式,高可伸縮性,高穩定性,輕巧。什麼是mapReduce模式的最佳python實現?

我使用了一個名爲mincemeat的Google搜索結果,不確定,但其他人都知道嗎?

感謝

回答

5

有一些作品在這裏和那裏,如果你尋找他們。例如OctopyDisco以及Hadoopy。但是,我不相信它們中的任何一個都可以在成熟性,穩定性,可伸縮性,性能等方面與Hadoop競爭。對於小型案例它們應該足夠了,但對於更加「光榮」的事情,您必須堅持到Hadoop。

請記住,您仍然可以使用python/jython在Hadoop中編寫map/reduce程序。

編輯:我最近遇到了mrjob。這看起來很棒,因爲它簡化了編寫map/reduce程序的步驟,然後在Hadoop或Amazon的Elastic MapReduce平臺上啓動它們。文章認爲布拉夫好消息是here

2

另一個不錯的選擇是Dumbo

下面是運行地圖/減少字數統計的代碼。

def mapper(key,value): 
    for word in value.split(): yield word,1 
def reducer(key,values): 
    yield key,sum(values) 

if __name__ == "__main__": 
    import dumbo 
    dumbo.run(mapper,reducer) 

要運行它,只給你的文本文件wc_input.txt計數,輸出保存爲wc_output

python -m dumbo wordcount.py -hadoop /path/to/hadoop -input wc_input.txt -output wc_output 
相關問題