MapReduce框架原理

MapReduce详细工作流程1
在这里插入图片描述
MapReduce详细工作流程2
在这里插入图片描述

shuffle流程

Map方法之后,Reduce方法之前的数据处理过程称之为Shuffle。
在这里插入图片描述

Partition分区

在这里插入图片描述
默认分区是根据key的hashCode对ReduceTasks个数取模得到的,用户没法控制哪个key存储到那个分区

需要在driver上加上以下内容才行
在这里插入图片描述
分区注意事项
1.如果ReduceTask数量 > getPartition(自己的分区)的结果数, 会产生几个空的文件
2.1 < 如果ReduceTask数量 < getPartition(自己的分区)的结果数, 会报错
3.如果ReduceTask数量= 1, 不管几个分区文件都是1个ReduceTask
4.分区号必须从0开始逐一递增

排序—倒序/二次排序/分区内排

加上compareto方法
在这里插入图片描述
在这里插入图片描述
更改代码
在这里插入图片描述
最后结果正序排列了,这称为二次排序
在这里插入图片描述
分区内排
在这里插入图片描述
在之前的基础上加上分区
在这里插入图片描述

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部