gpt4 book ai didi

Sun Grid Engine 上的 Python MapReduce

转载 作者:太空宇宙 更新时间:2023-11-04 03:51:57 24 4
gpt4 key购买 nike

我对分布式计算比较陌生,所以如果我误解了这里的一些基本概念,请原谅我。我正在寻找(最好)基于 Python 的 Hadoop 替代方案,以便使用基于 SGE 的网格引擎(例如 OpenGrid 或 Sun of Grid Engine)在集群上通过 MapReduce 处理大型数据集。我很幸运地使用 PythonGrid 运行基本的分布式作业,但我真的想要一个功能更丰富的框架来运行我的作业。我已经阅读了像 Disco 这样的工具和 MinceMeatPy ,两者似乎都提供真正的 Map-Sort-Reduce 作业处理,但它们似乎对 SGE 没有任何明显的支持。这让我想知道是否有可能使用网格调度程序实现真正的 MapReduce 功能,或者人们是否只是不支持开箱即用,因为它们不经常使用。您可以在网格引擎上执行 Map-Sort-Reduce 任务吗?他们的 Python 工具支持这个吗?装配现有的 MapReduce 工具以使用 SGE 作业调度程序会有多困难?

最佳答案

我听说过 Jug作品。它使用文件系统来协调并行任务。在那种框架中,您将编写代码并在您所在的机器上运行“jug status primes.py”,然后启动一个网格阵列作业,其中包含任意数量的 worker ,所有 worker 都在运行“jug execute primes.py” ".

mincemeat.py 应该能够以相同的方式运行,但希望使用网络进行协调。因此,这可能取决于您的节点是否可以与运行整个脚本的服务器通信。

有几个关于运行实际 Hadoop MapReduce and HDFS on SGE 的发行说明,但我没能找到好的文档。

如果你习惯了 Hadoop streaming with Python ,在 SGE 上复制也不错。我在工作中取得了一些成功:我运行了一个数组作业,它为每个输入文件执行 map + shuffle。然后是另一个数组作业,它对每个 reducer 编号进行排序 + 缩减。 shuffle 部分只是将文件写入网络目录,如 mapper00000_reducer00000、mapper00000_reducer00001 等等(所有成对的 mapper 和 reducer 编号)。然后 reducer 00001 将所有标记为 reducer00001 的文件排序在一起,并通过管道传输到 reducer 代码。

不幸的是,Hadoop 流式处理功能不是很全。

关于Sun Grid Engine 上的 Python MapReduce,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20909951/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com