使用Mincemeat.py链接多个Map-Reduce作业

时间:2013-05-27 19:19:46

标签: python parallel-processing mapreduce information-retrieval

我正在尝试使用Map-Reduce框架计算出一个大型程序,该框架需要将整个过程分成三个Map-Reduce作业,这些作业应该按顺序进行。

我正在使用mincemeat.py,因为我在许多地方读到它比octo.py和python中的其他框架实现更快。

但我无法链接多个作业,因为每个客户端都需要提供密码并连接到服务器以执行。我的想法是,通过启动客户端,所有作业应按顺序运行。我是python的新手。感谢有人可以在这方面帮助我。

下面是启动作业的代码,例如wordCount ..

s = mincemeat.Server()
s.datasource = datasource
s.mapfn = map_wordCount
s.reducefn = reduce_wordCount
wordCounts = s.run_server(password="password")
print wordCounts

我想要另一个作业的map并减少要调用的函数,而不需要单独的客户端调用它。任何指出如何做到这一点的人。

感谢。

1 个答案:

答案 0 :(得分:1)

您是否可以mapPool工作人员使用Pool,这些工作人员将启动一批工作,这些工作的目标是启动另一个map每个运行mincemeat.py的工作人员 - 减少工作?我从来没有听说过pathos,但我使用Pool框架执行此操作...它为map提供了阻止imap,迭代amap和异步{ {1}}(以及pipes)用于后端,例如multiprocessingthreadingmpi4pyparallel python(基于套接字的分布式并行计算),和ssh-tunneling。

这有你选择的后端或后端的开销,因此对于非常小的任务,你会看到很多时间作为开销,但对于任何更大的嵌套分布式并行计算都是一个胜利。

您可以在此处找到pathos(和pyina - mpi4py部分pathos部分:https://github.com/uqfoundation