《大数据离线分析技术》课件-SortShuffle解析_第1页
《大数据离线分析技术》课件-SortShuffle解析_第2页
《大数据离线分析技术》课件-SortShuffle解析_第3页
《大数据离线分析技术》课件-SortShuffle解析_第4页
《大数据离线分析技术》课件-SortShuffle解析_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SortShuffle解析SortShuffle介绍普通运行机制bypass机制SortShuffle介绍/01在Spark1.2版本之后,出现了SortShuffle,这种方式以更少的中间磁盘文件产生而远远优于HashShuffle。

SortShuffle的运行机制主要分为两种。一种为普通机制,另一种为bypass机制。bypass机制的启动条件为,当shufflereadtask的数量小于等于spark.shuffle.sort.bypassMergeThreshold参数的值时(默认为200),就会启用bypass机制。即当readtask不是那么多的时候,采用bypass机制是更好的选择。SortShuffle介绍普通运行机制/02

在普通运行机制模式下,数据会先写入一个数据结构,聚合算子写入Map,一边通过Map局部聚合,一遍写入内存。Join算子写入ArrayList直接写入内存中。然后需要判断是否达到阈值,如果达到就会将内存数据结构的数据写入到磁盘,清空内存数据结构。

普通运行机制

在溢写磁盘前,先根据key进行排序,排序过后的数据,会分批写入到磁盘文件中。默认批次为10000条,数据会以每批一万条写入到磁盘文件。写入磁盘文件通过缓冲区溢写的方式,每次溢写都会产生一个磁盘文件。普通运行机制

最后在每个task中,将所有的临时文件合并,这就是merge过程,此过程将所有临时文件读取出来,一次写入到最终文件。意味着一个task的所有数据都在这一个文件中。普通运行机制

同时单独写一份索引文件,标识下游各个task的数据在文件中的索引,startoffset和endoffset。

普通运行机制bypass机制/03

bypass机制运行条件:shufflemaptask数量小于spark.shuffle.sort.bypassMergeThreshold参数的值。不是聚合类的shuffle算子(比如reduceByKey)。bypass机制

在bypass机制下,当前stage的task会为每个下游的task都创建临时磁盘文件。将数据按照key值进行hash,然后根据hash值,将key写入对应的磁盘文件中。最终,同样会将所有临时文件依次合并成一个磁盘文件,建立索引

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论