社区
Cloud Foundry
帖子详情
hadoop的shuffle过程为什么要用快速排序和归并排序?其他排序不可以吗?
weixin_39707070
2019-07-06 09:00:18
救救面试孩子吧,孩子面试
...全文
801
1
打赏
收藏
hadoop的shuffle过程为什么要用快速排序和归并排序?其他排序不可以吗?
救救面试孩子吧,孩子面试
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Ilovesg
2019-08-15
打赏
举报
回复
实现简单啊,且这两种算法时间复杂度都为nlogn级别的排序算法。 一个稳定一个不稳定。 要稳定用归并。 有时不需要稳定就用快速,快速排序节省空间资源。
Hadoop
基础【MapReduce中的
Shuffle
机制】
配置HDFS的StaticUser 配置完成之后,可以在浏览器上实现对集群的管理(创建文件夹,删除文件夹等) cd /opt/module/
hadoop
-3.1.3/etc/
hadoop
/ vim core-site.xml <property> <name>
hadoop
.http.staticuser.user</name> <value>hike</value> </property> xsync
Hadoop
和Spark为什么要对key进行
排序
1.思考 只要对
hadoop
中mapreduce的原理清楚的都熟知下面的整个流程运行原理,其中涉及到至少三次
排序
,分别是溢写
快速
排序
,溢写
归并
排序
,reduce拉取
归并
排序
,而且
排序
是默认的,即天然
排序
的,那么为什么要这么做的,设计原因是什么。先给个结论,为了整体更稳定,输出满足多数需求,前者体现在不是采用hash
Shuffle
而是sort
Shuffle
,后者体现在预计算,要知道
排序
后的数据,在后续数据使用时的会方便很多,比如体现索引的地方,如reduce拉取数据时候。 2.MapReduce原理分析
Hadoop
的
shuffle
的
过程
Hadoop
的
shuffle
的
过程
可以拆分为:map端的
shuffle
和reduce端的
shuffle
。 在网上搜了一张
shuffle
的
过程
图: 一、map端的
shuffle
Map是映射,负责数据的过滤分发: Map端会处理输入的数据,将产生的中间结果写到本地磁盘。 针对上图,对每一步都进行一下解读: 1. input 在map端首先接触的是InputSplit,在InputSpl...
hadoop
shuffle
机制中针对中间数据的
排序
过程
详解(源代码级)
在所有公开资料中,很少有对
Hadoop
中间数据的sort
过程
进行详细介绍的。如果想要深入了解
hadoop
对中间数据的
排序
机制,只有通过阅读源代码才能达到。而
hadoop
的这段代码本身具有非常大的迷惑性,如果不注意细节,很容易会发生错误的理解。 本篇文章从原理上详细介绍了
hadoop
针对中间数据的
排序
机制,并且对一些重要的源代码段进行了介绍。阅读本文对理解该机制或者深入阅读该部分的
hadoop
源代
深入解析
Hadoop
Shuffle
过程
shuffle
过程
确保了map输出数据高效、有序地传递给reduce任务,是MapReduce的核心机制。整个
过程
可概括为:map输出 → 分区
排序
→ 磁盘溢出 → 网络传输 → reduce合并
排序
→ reduce输入。理解
shuffle
有助于优化
Hadoop
作业性能,例如通过调整参数减少延迟。如果您有具体场景(如大数据量处理),我可以进一步提供优化建议!
Cloud Foundry
548
社区成员
350
社区内容
发帖
与我相关
我的任务
Cloud Foundry
Cloud Foundry是业界第一个开源PaaS云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。
复制链接
扫一扫
分享
社区描述
Cloud Foundry是业界第一个开源PaaS云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章