Map Reduce框架/基础设施

6

Map Reduce是一种最近越来越受欢迎的模式,我开始在一个专注于事件处理管道(iPhone加速度计和GPS数据)的项目中看到它的应用。我需要为这个项目构建很多基础设施,实际上它的代码逻辑比与之交互的代码重了2倍。我构建的一些组件包括事件处理器(具有输入输出缓冲区、时间等)、事件监听器、聚合器和分阶段管道。

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

Apache Hadoop将Map-Reduce带到了Java中。谷歌已经专利了一个Map-Reduce框架。他们提供了哪种基础设施来实现Map Reduce?函数式语言中展示实现Map Reduce的结构是什么?Map-Reduce框架需要提供什么样的需求/功能?


最近发现了一个有趣的帖子,与.NET 4.0中的MapReduce相关:http://ox.no/posts/minimalistic-mapreduce-in-net-4-0-with-the-new-task-parallel-library-tpl - Keith Adler
谢谢提供链接,但是它并没有深入探讨这个话题。 - Johannes Rudolph
1
Hadoop并不是“试图”将MR引入Java。它被Facebook和Yahoo用于处理PB级别的数据。这远远超出了“尝试”的范畴。 - skaffman
3个回答

2

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


1
据我所知,Hadoop通常基于HDFS和/或HBase架构,这作为数据分发机制供Hadoop本身操作。
此外,还有亚马逊弹性MapReduce,它是一个闪亮的Web前端,使用EC2和Hadoop使事情变得更容易。在这种情况下,“基础架构”是EC2和S3。
附言:对于不友善的评论感到抱歉 :)

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接