mapReduce 模式的最佳 python 实现是什么?



MapReduce最好的Python实现是什么,一个框架还是一个库,可能和Apache hadoop一样好,但只要它是Python的,并且在良好的文档和易于理解方面最好,完全实现了MapReduce模式,高可伸缩性,高稳定性和轻量级。

我谷歌了一个叫mincemeat的,不确定,但还有其他众所周知的吗?

谢谢

如果你搜索的话,这里那里有一些片段。例如Octopy和Disco以及hadoop。

然而,我不相信它们中的任何一个能在成熟度、稳定性、可伸缩性、性能等方面与Hadoop竞争。对于小的情况,它们应该足够了,但是对于更"辉煌"的事情,你必须坚持使用Hadoop。

请记住,您仍然可以使用python/jython在Hadoop中编写map/reduce程序。

编辑:我最近遇到了mrjob。它看起来很棒,因为它简化了编写map/reduce程序,然后在Hadoop或Amazon的Elastic MapReduce平台上启动它们的方式。带来好消息的文章在这里

2019年更新:强烈推荐Apache Beam。

= = =

另一个不错的选择是小飞象。

下面是运行map/reduce进行单词计数的代码。

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

您还应该查看Mrs: http://code.google.com/p/mrs-mapreduce/

它特别适合于计算密集的迭代程序。

相关内容

  • 没有找到相关文章

最新更新