Map Reduce框架/基础结构

Map Reduce框架/基础结构

问题描述:

Map Reduce最近似乎引起了很大的关注,我开始看到它在我的一个专注于事件处理管道(iPhone加速度计和GPS数据)的项目中出现。我需要为这个项目构建很多基础设施,实际上它超过了与它交互2倍的逻辑代码。我在EventProcessors(包括输入和输出缓冲区,定时等),EventListeners,Aggregators和一个分阶段管道中构建的一些组件。Map Reduce框架/基础结构

这将我引向我的问题地图缩减所需的“常用”基础设施是什么。因为我正在使用.Net,所以我可以看到地图缩小框架和语言结构内置的基础设施。功能语言本身支持这种范式。看来每种语言都可以与地图缩小一起使用。围绕这个概念甚至有的语言(例如Go)。

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

+0

最近在.NET 4.0中引入了一个有趣的帖子,涉及MapReduce:http://ox.no/posts/minimalistic-mapreduce-in-net-4-0-with-the-new-task-parallel-library -tpl – 2010-03-15 20:42:55

+0

感谢您的链接,但对于这个话题并不太深入。 – 2010-03-16 10:23:50

+1

Hadoop不会“尝试”将MR带入Java。 Facebook和Yahoo使用它来处理数据的PB。这不仅仅是“尝试”。 – skaffman 2010-03-17 09:46:22

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

据我所知,Hadoop通常基于HDFS和/或HBase基础结构,它充当Hadoop本身运行的数据分布机制。

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

P.S.对不起snippy的评论:)

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