地图减少框架/基础设施

时间:2010-03-15 20:35:30

标签: language-agnostic frameworks hadoop mapreduce

Map Reduce是一种似乎最近引起很大关注的模式,我开始看到它在我的一个专注于事件处理管道(iPhone加速度计和GPS数据)的项目中体现出来。我需要为这个项目构建大量的基础架构,实际上它超过了与之交互的逻辑代码2倍。我在EventProcessors(带有in-和outputbuffers,时间等),EventListeners,Aggregators和staged Pipeline中构建的一些组件。

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

Apache Hadoop将Map-Reduce带入Java。 Google已patented a map-reduce framework。他们提供什么样的基础设施来减少地图?函数式语言中实现map reduce的结构是什么? map-reduce框架需要/应该提供什么?

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

还有Amazon Elastic MapReduce,它是一个闪亮的Web前端,它使用EC2和Hadoop来简化操作。在这种情况下,“基础设施”是EC2和S3。

P.S。对不起评论:)

答案 2 :(得分:0)

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