3

我正在尝试使用 Map-Reduce 框架开发一个大型程序,该程序需要将整个过程拆分为三个应按顺序发生的 Map-Reduce 作业。

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

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

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

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

我希望调用另一个作业的 map 和 reduce 函数,而不需要单独的客户端调用它。任何人都可以指出如何做到这一点。

谢谢。

4

1 回答 1

1

你能不能不使用那些将启动一批工作的工作人员,这些工作的目标是启动另一个map工作人员,每个工作人员正在运行-reduce 工作?我从未听说过,但我使用框架来执行此操作……它为后端提供了阻塞、迭代和异步(以及) ,例如、、(基于套接字的分布式并行计算)和 ssh 隧道。PoolPoolmapmincemeat.pypathosPoolmapimapamappipesmultiprocessingthreadingmpi4pyparallel python

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

你可以在这里找到pathos(和pyina- 的mpi4py部分pathos):https ://github.com/uqfoundation

于 2014-06-13T21:55:37.897 回答