社区
Cloud Foundry
帖子详情
hadoop的shuffle过程为什么要用快速排序和归并排序?其他排序不可以吗?
weixin_39707070
2019-07-06 09:00:18
救救面试孩子吧,孩子面试
...全文
739
1
打赏
收藏
hadoop的shuffle过程为什么要用快速排序和归并排序?其他排序不可以吗?
救救面试孩子吧,孩子面试
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Ilovesg
2019-08-15
打赏
举报
回复
实现简单啊,且这两种算法时间复杂度都为nlogn级别的排序算法。 一个稳定一个不稳定。 要稳定用归并。 有时不需要稳定就用快速,快速排序节省空间资源。
Hadoop
入门和大数据应用
Hadoop
入门和大数据应用视频教程,该课程主要分享
Hadoop
基础及大数据方面的基础知识。讲师介绍:翟周伟,就职于百度,
Hadoop
技术讲师,专注于
Hadoop
&大数据、数据挖掘、自然语言处理等领域。2009年便开始利用
Hadoop
构建商业级大数据系统,是国内该领域早的一批人之一,负责设计过多个基于
Hadoop
的大数据平台和分析系统。2011年合著出版《
Hadoop
开源云计算平台》。在自然语言处理领域申请过一项发明专利。新出版书籍 《
Hadoop
核心技术》 。
Hadoop
和Spark为什么要对key进行
排序
1.思考 只要对
hadoop
中mapreduce的原理清楚的都熟知下面的整个流程运行原理,其中涉及到至少三次
排序
,分别是溢写
快速
排序
,溢写
归并
排序
,reduce拉取
归并
排序
,而且
排序
是默认的,即天然
排序
的,那么为什么要这么做的,设计原因是什么。先给个结论,为了整体更稳定,输出满足多数需求,前者体现在不是采用hash
Shuffle
而是sort
Shuffle
,后者体现在预计算,要知道
排序
后的数据,在后续数据使用时的会方便很多,比如体现索引的地方,如reduce拉取数据时候。 2.MapReduce原理分析
Hadoop
的MapReduce阶段为什么要进行
排序
呢,这样的
排序
对后续操作有什么好处么?
Mapreduce
排序
:1、MapReduce中
排序
发生在哪几个阶段??这些
排序
是否可以避免,为什么?? 答:一个MapReduce作业由Map阶段和Reduce阶段两部分组成,这两阶段会对数据
排序
,从这个意义上说,MapReduce框架本质就是一个Distributed Sort。在Map阶段,Map Task会在本地磁盘输出一个按照key
排序
(采用的是
快速
排序
)的文件(中间可能产生多个文...
MR
Shuffle
过程
归并
排序
和
快速
排序
最近回顾
hadoop
,一个简单MapReduce
shuffle
过程
,MapTask经历了一次快排和一次归并,ReduceTask经历了一次
归并
排序
,回顾一下两个
排序
算法。
Hadoop
的
shuffle
的
过程
Hadoop
的
shuffle
的
过程
可以拆分为:map端的
shuffle
和reduce端的
shuffle
。 在网上搜了一张
shuffle
的
过程
图: 一、map端的
shuffle
Map是映射,负责数据的过滤分发: Map端会处理输入的数据,将产生的中间结果写到本地磁盘。 针对上图,对每一步都进行一下解读: 1. input 在map端首先接触的是InputSplit,在InputSpl...
Cloud Foundry
547
社区成员
352
社区内容
发帖
与我相关
我的任务
Cloud Foundry
Cloud Foundry是业界第一个开源PaaS云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。
复制链接
扫一扫
分享
社区描述
Cloud Foundry是业界第一个开源PaaS云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章