首先我们先来欣赏一下MapReduce的执行过程吧,如下图,自己看,不解释了。

MapReduce 学习(一)

Map 和 Reduce 的处理都是基于Key/Value来进行的,在Map中对文件的每一行进行处理,有两个输入参数,KeyInput,ValueInput,然后有两个输出,KeyOut,ValueOut,在Map执行之后有个Combiner,负责把多个Map传过来的Key相同的Value生成一个Iterable接口的集合,也可以自己指定一个Combiner,可以提高性能,要慎用,经过Combiner处理之后,就把处理过的内容传给Reduce,这是个一对一的过程,Reduce的输出也是KeyOut,ValueOut,最后是输出到文件,这里还有一个Partitiner,实现它可以把输出分别写到多个文件上,否则将会把所有reduce产生的文件输出到一个文件当中,好,我们来看一下下面这个图,大家就可以有一个更直观的感受了!

MapReduce 学习(一)

好啦,理论就讲到这里。

相关文章:

  • 2021-05-03
  • 2021-07-21
  • 2021-10-20
  • 2021-04-08
  • 2021-08-06
  • 2021-11-25
  • 2022-01-01
  • 2022-12-23
猜你喜欢
  • 2021-12-03
  • 2021-06-06
  • 2022-03-01
  • 2021-07-18
相关资源
相似解决方案