如何简单解释 MapReduce 算法?

如何简单解释 MapReduce 算法


慕雪6442864
浏览 817回答 2
2回答

胡子哥哥

map 根据输入的映射函数,将一个集合映射为另一个集合,比如:输入集合为 {1,2,3,4,5},输入的函数为 f(x) = x^2,那么输出的集合就是 {1,4,9,16,25}。reduce 就是根据输入的归约函数,将集合(一般指map输出的集合)归约,比如上面的输出集合是  {1,4,9,16,25},假设我们的归约函数是 f(x,y) = x + y, 那么 reduce 的过程就是  {5,9,16,25} -> {14,16,25} -> {30,25} -> {55}。我们使用 Java8 来描述这个过程:12345int result = IntStream.range(1, 6) // 获得集合 {1,2,3,4,5}                      .map(x -> x * x) // 映射为 {1,4,9,16,25}                      .reduce((x, y) -> x + y) // 归约                      .getAsInt(); // 获得结果System.out.println(result);结果:
打开App,查看更多内容
随时随地看视频慕课网APP