Map Reduce是一种似乎最近引起很大关注的模式,我开始看到它在我的一个专注于事件处理管道(iPhone加速度计和GPS数据)的项目中体现出来.我需要为这个项目构建大量的基础设施,实际上它超过了与之交互的逻辑代码2倍.我在EventProcessors(带有in-和outputbuffers,时间等),EventListeners,Aggregators和staged Pipeline中构建的一些组件.
这让我想到了地图缩减所需的"常见"基础设施是什么.由于我正在使用.Net,我可以看到框架和语言结构中内置的map reduce基础结构.功能语言本身支持这种范例.似乎每种语言都可以与map reduce一起使用.甚至围绕该概念建立了语言(例如Go).
Apache Hadoop将Map-Reduce引入Java.谷歌已经为map-reduce框架申请了专利.他们提供什么样的基础设施来减少地图?函数式语言中实现map reduce的结构是什么?map-reduce框架需要/应该提供什么?