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

标签 python parallel-processing mapreduce information-retrieval

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

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

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

下面是启 Action 业的代码,例如这里的wordCount..

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

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

谢谢。

最佳答案

你能不能不使用map对于 Pool将启动一批工作的 worker ,其目标是启动另一个 Pool每次运行的 worker 数量 map -减少工作?我从没听说过 mincemeat.py , 但我用 pathos 来做到这一点框架……它提供了一个Pool阻塞 map , 迭代 imap , 和异步 amap (以及 pipes )用于后端,例如 multiprocessing , threading , mpi4py , parallel python (基于套接字的分布式并行计算)和 ssh 隧道。

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

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

关于python - 使用 Mincemeat.py 链接多个 Map-Reduce 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16779309/

相关文章:

hadoop - 如何选择Hadoop工具以获得更快的性能

hadoop - Hadoop 映射器如何处理部分溢出到下一个 block 的记录?

Python:如何计算创建的对象数?

clojure - Clojure 中 pmap 的更好替代方案,用于在大数据上并行化适度廉价的函数?

haskell - 在 Haskell 中使用 parBuffer 时如何确定要使用的缓冲区大小

javascript - 有没有人使用 webworker 并行化在 JavaScript 中进行过大型搜索?

java - 由于 Task attempt failed to report status 600 秒,reduce 失败。杀戮!解决方案?

python - Suds属性错误: 'NoneType' object has no attribute 'param_defs'

python - keras中的点层中的axes参数有什么作用?

python - Crontab 执行但没有任何反应(python 文件)