姜小嫌

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

spark shuffle 分为两种

1.byPassSortShuffle 发生条件分区数<=200;无排序及聚合操作
主要是直接按照分区号写文件,有多少分区写多少文件 不做任何排序,简单直接

2.baseSortShuffle 发生条件
1.代码中指定聚合 但是没指定排序规则,会按照分区排序,并按照key的hashcode排序,在归并之时 维护两个数组 做聚合及输出
2.代码中指定聚合并指定了排序规则,会按照分区排序,并按照key的指定规则排序(这个过程跟mr的流程一样,不多做叙述)
3.代码中无聚合 无指定排序规则,只会按照分区排序,不对key作操作,归并之时 也只按照分区号排序,直接写入相应分区

posted on 2018-08-24 20:33  姜小嫌  阅读(257)  评论(0编辑  收藏  举报