码迷,mamicode.com
首页 > 其他好文 > 详细

shuffle过程理解

时间:2016-11-20 16:33:54      阅读:517      评论:0      收藏:0      [点我收藏+]

标签:shuffle过程的理解

  1. shuffle是干什么用的?

    shuffle就是用来分组的或者是将相同关键字提取出来,分成一组,以[key,value1,value2..value]等的形式组成key ,value。

  2. shuffle包含了那些过程

    该过程包含了三个过程。partioner,merge。

    partioner(分区)是什么?

    partioner是用来指定分区的,它是根据reduce数量来指定相应的分区

    每个分区里面都是按照k2来进行排序的(排序的规则是:如果是字母就按照字典顺序a,ab,abc ,b,如果是数字,就按照顺序排,如果是自定义的k2,就按照自定义顺序来排序)。

    partioner阶段也有个合并,这个是针对map里面的分区合并。(1号分区数据在一起,2号分区数据一起。。。。。)这样数据是不是乱了,但是不至于很乱。

  3. combiners(合并)是什么?

    combiners是一个特殊的reduce,是一个本地的reducer。将其中的map里面的key值数量合并累加。

    map输出至partioner输出至combine(这个可以自己写)

  4. merge(合并)这里会在按照(k2)在进行排序

    merge是将多个map产生的分区数据在进行合并,(map1,的1号分区,map2,的1号分区。。。合并)以供给reduce阶段。

  5. 一台计算机可以运行1个至多个map函数。

本文出自 “简答生活” 博客,转载请与作者联系!

shuffle过程理解

标签:shuffle过程的理解

原文地址:http://1464490021.blog.51cto.com/4467028/1874708

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!