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 框架需要/应该提供什么?