【问题标题】:Chaining Multiple Map-Reduce jobs using Mincemeat.py使用 Mincemeat.py 链接多个 Map-Reduce 作业
【发布时间】:2023-03-17 20:07:01
【问题描述】:

我正在尝试使用 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 函数,而不需要单独的客户端调用它。任何知道如何做到这一点的人。

谢谢。

【问题讨论】:

    标签: python parallel-processing mapreduce information-retrieval


    【解决方案1】:

    你能不能不使用 map 的工作人员 Pool 来启动一批工作,其目标是启动另一个 Pool 工作人员,每个工作人员都运行 map-reduce 工作?我从未听说过mincemeat.py,但我使用pathos 框架来做到这一点……它提供了一个Pool 与阻塞map、迭代imap 和异步amap(以及pipes)用于multiprocessingthreadingmpi4pyparallel python(基于套接字的分布式并行计算)和 ssh 隧道等后端。

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

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

    【讨论】:

      猜你喜欢
      • 2012-02-20
      • 2023-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多