4
MapReduce的新颖之处是什么?
几年前,MapReduce被誉为分布式编程的革命。也有批评家但总的来说是热心的炒作。它甚至获得了专利![1] 这个名字让人联想到的map和reduce函数式编程,但是当我阅读(维基百科) 映射步骤:主节点获取输入,将其分为较小的子问题,然后将其分配给工作节点。辅助节点可以依次再次执行此操作,从而导致多层树结构。工作节点处理较小的问题,并将答案传递回其主节点。 减少步骤:主节点然后收集所有子问题的答案,并以某种方式将它们组合起来以形成输出-最初试图解决的问题的答案。 或[2] MAP的内部原理: MAP将输入值分割为多个单词。MAP旨在将输入的每个给定键/值对与潜在的许多中间键/值对相关联。 REDUCE的内部要素: [REDUCE]执行命令式聚合(例如,减少):采用许多值,并将其减少为单个值。 我忍不住想:这是分而治之(在Mergesort的意义上),简单明了!那么,MapReduce中是否存在(概念上的)新颖性,还是只是在某些情况下有用的旧思想的新实现? 美国专利7,650,331:“有效进行大规模数据处理的系统和方法”(2010) Google的MapReduce编程模型 -R.Lämmel(2007)重新审视