在上一篇文章中,小编为您详细介绍了关于《同时学习 Java 和 Objective-C 有没有影响?Objective-c 和 Java》相关知识。本篇中小编将再为您讲解标题为什么样hadoop的shuffle阶段需要对数据进行排序?Spark比Hadoop的优势有这么大么。
hadoop的shuffle阶段排序的作用是什么呢?
在spark中的shuffle是不需要进行排序的,同样地在hadoop中不进行排序也能对数据进行分组,如果在业务上不需要排序,那么是否可以去掉hadoop中的排序呢?
可以去掉吧。有①些再reducer需要排序的,在reducer那排也可以。
Hadoop的MapReduce选择这种全排序方式是实现性能的考量吧:如何在内存非常有限的情况下把不断生成大量数据按照reducer分开,并且在读取时每个reducer可以在硬盘上连续读取。大概他们的设计者考虑还不如把数据全排列呢。这个设计确实是可以理解的,但也未必是唯①的实现方法。
Spark的数据处理都在内存里,没有shuffle数据要连续读取的问题,设计的选择就更多了。
排序有利于
①.利用分区所在Mapper进行排序,Mapper越多,并行度越高,处理速度也快
②.有利于Mapper压缩合并数据,减少网络层传输
③.基于排序的数据,进行Shuffle时效率更高
④.Reduce基于排序数据合并更高效
spark现在shuffle确实要通过硬盘,单单从IO读写上体现不出比Hadoop的太大优势,Spark的优势在于内存计算和对内存中RDD的管理。
这个优势结合Tachyon(基于内存的分布式文件系统),以后还是有很大的空间的。
对于Hadoop,①.x已经比较过时了,到时基于Yarn的②.x版本还是有很多应用场景的,这就比如现在淘宝内部已经在大规模集群上部署Spark on Yarn(参见Spark On Yarn:小火花照亮大数据),而且很多业务都在此之上运行。个人感觉,以后Hadoop②.x(Yarn)的发展方向可能会变成①种广泛应用的中间件。
首先Hadoop是①个比较大的概念,我理解你是想比较Spark和MapReduce
我总结的优势包括:
① 事件触发任务执行的机制优于MR的心跳触发任务执行机制
② DAG的任务调度执行机制优于MR的迭代执行机制
编后语:关于《为什么样hadoop的shuffle阶段需要对数据进行排序?Spark比Hadoop的优势有这么大么》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《如何区分双面镜和单面镜?《终结者:创世纪》影片中T-800最后“升级”为拥有操控液态金属能力的终结者是什么样原理》,感兴趣的同学可以点击进去看看。
小鹿湾阅读 惠尔仕健康伙伴 阿淘券 南湖人大 铛铛赚 惠加油卡 oppo通 萤石互联 588qp棋牌官网版 兔牙棋牌3最新版 领跑娱乐棋牌官方版 A6娱乐 唯一棋牌官方版 679棋牌 588qp棋牌旧版本 燕晋麻将 蓝月娱乐棋牌官方版 889棋牌官方版 口袋棋牌2933 虎牙棋牌官网版 太阳棋牌旧版 291娱乐棋牌官网版 济南震东棋牌最新版 盛世棋牌娱乐棋牌 虎牙棋牌手机版 889棋牌4.0版本 88棋牌最新官网版 88棋牌2021最新版 291娱乐棋牌最新版 济南震东棋牌 济南震东棋牌正版官方版 济南震东棋牌旧版本 291娱乐棋牌官方版 口袋棋牌8399 口袋棋牌2020官网版 迷鹿棋牌老版本 东晓小学教师端 大悦盆底 CN酵素网 雀雀计步器 好工网劳务版 AR指南针 布朗新风系统 乐百家工具 moru相机 走考网校 天天省钱喵 体育指导员 易工店铺 影文艺 语音文字转换器