6

Map Reduce 是一种最近似乎受到很大关注的模式,我开始在我的一个专注于事件处理管道(iPhone Accelerometer 和 GPS 数据)的项目中看到它。我需要为这个项目构建很多基础设施,实际上它超过了与之交互的逻辑代码 2 倍。我在 EventProcessors(带有输入缓冲区和输出缓冲区、计时等)、EventListeners、聚合器和分阶段管道的位置构建了一些组件。

这让我想到了 map reduce 所需的“常见”基础设施是什么。由于我经常使用 .Net,我可以看到框架和语言结构中内置的 map reduce 基础设施。函数式语言本身就支持这种范式。似乎每种语言都可以与 map reduce 一起使用。甚至还有围绕这个概念构建的语言(例如 Go)。

Apache Hadoop将 Map-Reduce 引入 Java。谷歌已经申请了 map-reduce 框架的专利。他们提供什么样的基础设施来启用 map reduce?函数式语言中用于实现 map reduce 的结构是什么?map-reduce 框架需要/应该提供什么?

4

3 回答 3

2

Hadoop 是基于Google 文件系统的。Hadoop MapReduce 实现也是基于Google 的一篇论文。对于 Google 和 Hadoop,允许 MapReduce 成功并行运行大量数据的组件是分布式文件系统。

于 2010-03-18T00:02:48.250 回答
1

据我了解,Hadoop 通常基于 HDFS 和/或 HBase 基础架构,它充当 Hadoop 本身运行的数据分发机制。

还有 Amazon Elastic MapReduce,它是一个闪亮的 Web 前端,它使用 EC2 和 Hadoop 使事情变得更容易。在这种情况下,“基础设施”是 EC2 和 S3。

PS 很抱歉评论太短了 :)

于 2010-03-17T09:57:11.777 回答
0

由于您习惯于使用 .NET,因此您可能需要查看 DryadLINQ。 http://research.microsoft.com/en-us/downloads/03960cab-bb92-4c5c-be23-ce51aee0792c/default.aspx

于 2010-03-23T09:51:59.143 回答