Map/Reduce

Dean and Gemawat: Simplified Data Processing on Large Clusters, OSDI, 2004.

Ralf Lämmel: Google's Map/Reduce Programming Model, Revisited, in: Science of Computer Programming, 2006. http://userpages.uni-koblenz.de/~laemmel/MapReduce/

mapReduce :: ( (k1,v1) -> [(k2,v2)] )
          -> ( k2 -> [v2] -> v3 )
          -> ( Map k1 v1 ) -> ( Map k2 v3 )
mapReduce m r
  = reducePerKey r -- 3. Apply r to each group
  . groupByKey     -- 2. Group per key
  . mapPerKey m    -- 1. Apply m to each key/value pair



Johannes Waldmann 2011-01-18