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