Spark核心回顾与新特性:Shuffle流程及管理器详解.pdfVIP

Spark核心回顾与新特性:Shuffle流程及管理器详解.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

1.掌握Spark的Shuffle流程

2.掌握Spark3.0新特性

3.理解并复习Spark的概念

SparkShuffle

1.1SparkShuffle

Map和Reduce

在Shuffle过程中.数据的称之为Map端(ShuffleWrite)接收数据的称之为Reduce端(ShuffleRead)

在Spark的两个阶段中,总是前一个阶段产生一批Map数据,下一阶段产生一批Reduce接收数据

Spark2种Shuffle管理器:

•HashShuffleManager

•SortShuffleManager

优化的HashShuffleManager

优化后HashShuffleManager基本和未优化的一致,不同点在于

1.在一个Executor内,不同Task是共享Buffer缓冲区

2.这样减少了缓冲区乃至写入磁盘文件的数量,提高性能

SortShuffleManager的运行机制主要分成两种,一种是普通运行机制,另一种是bypass运行机制。

普通机制的SortShuffleManager

运行机制的触发条件如下:

数量小于

参数的值。

不是聚合类的算子比如

同通机本类同区别在入磁临时文的时候不会在内

存进行序

而是直接终合并为个个终文件

所以和普通式区别在于

,磁写机不同;

二,不会进行序也就是说,启该大好处在,

过中,不要进行数据排序,也就节了

这部分性能开销

ByPass机制的SortShuffleManager

1.SortShuffle对比HashShuffle可以减少很多的磁盘

文件,以节省网络IO的开销

2.SortShuffle主要是对磁盘文件进行合并来进行文件

数量的减少,同时两类Shuffle都需要经过内存缓冲区

溢写磁盘的场景.所以可以得知,尽管Spark是内存迭

代计算框架,但是内存迭代主要在窄依赖中.在宽依

赖(Shuffle)中磁盘交互还是一个无可避免的情况.所

以,我们要尽量减少Shuffle的出现,不要进行无意义

的Shuffle计算.

Spark3.0新特性

3.0新特性更新的模块占比

对比2.4版本,3.0在TPC-DS基准测试中

性能超过2.4版本,达到了2倍的提升

30TB基准数据量计算测试

由于缺乏或者确的数据统计信息(元数据)和对成本的错误估算(执行计划调度)导致生成的初始执行计划不理想

在Spark3.x版本AdaptiveQueryExecution自适应查询技术

通过在”运行时”对查询执行计划进行优化,允许nner在运行时执行可选计划,这些可选计划将会基于运行时数据统

计进行动态优化,从而提高性能.

AdaptiveQueryExecutionAQE主要了三个自适应优化:

•动态合并ShufflePartitions开启AQE方式

•动态调整Join策略

•动态优化倾斜Join(SkewJoins)

•动态合并Dynamicallycoacingshufflepartitions

可以动态调整shuffle分区的数量。用户可以在开始时设置相对较多的shuffle分区数,AQE会在运行时将相邻的小分区

合并为较大的分区。

AQEOFFAQEON

•动态调整Join策略Dynamicallyswitchingjoinstrategies

此优化可以在一定程度上避免由于缺少统计信息或着错误估计大小(当然也可能两种情况同时存在),而导致执行

文档评论(0)

kay5620 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8001056127000014

1亿VIP精品文档

相关文档