1

我目前正致力于在 MR-MPI(MPI 上的 MapReduce)上实现机器学习算法。而且我还试图了解其他 MapReduce 框架,尤其是 Hadoop,所以以下是我的基本问题(我是 MapReduce 框架的新手,如果我的问题没有意义,我表示歉意)。

问题:因为 MapReduce 可以在许多事物之上实现,例如并行文件系统 (GPFS)、HDFS、MPI 等。在映射步骤之后有一个整理操作,然后是一个归约操作。对于整理操作,我们需要跨节点进行一些数据移动。在这方面,我想知道 HDFS Vs GPFS Vs MPI 中的数据移动机制(节点之间)有什么区别。

如果您能给我一些很好的解释,我很感激,并且可以给我一些关于这些的很好的参考,这样我就可以了解更多的细节。

谢谢。

4

2 回答 2

0

MapReduce 作为一种范例可以在许多存储系统上双向实现。事实上,Hadoop 有所谓的 DFS(分布式文件系统)抽象,它可以集成不同的存储系统并在它们上运行 MapReduce。例如有 Amazon S3、本地文件系统、Opens Stack Swift 和其他集成。
同时,HDFS 集成有一个特殊属性——它向 MR 引擎(更具体地说,是 JobTracker)报告数据所在的位置,并且它可以智能调度 Mapping,每个 Mapper 处理的数据通常与映射器。因此,在映射阶段,当 MR 在 HDFS 上运行时,数据不会通过网络移动。
更一般地说,Hadoop MR 的想法是将代码移动到数据而不是相反,并且在评估任何可扩展的 MR 实现时,它应该是重要的标准——这个系统是否关心映射器处理本地数据。

于 2012-07-06T06:49:17.867 回答
0

OP混合了一些东西-消息传递和文件系统,因此有多个答案。

Hadoop/MAPI 是一个 WIP,您可以在此处找到更多详细信息。

Hadoop/GPFS 仍然是开放的。

Hadoop/HDFS 来自Apache Hadoop。对于映射器和减速器之间的数据传输,使用 HTTP,不知道为什么。

于 2012-07-06T09:18:28.417 回答