王家林谈Spark性能优化第八季之Spark Tungsten-sort Based Shuffle 内幕解密

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了王家林谈Spark性能优化第八季之Spark Tungsten-sort Based Shuffle 内幕解密相关的知识,希望对你有一定的参考价值。

内容:

1、"钨丝计划"Shuffle实例;

2、"钨丝计划"下的Shuffle解密;

现在SparkSQL就是用的"钨丝计划"来处理Shuffle的

技术分享

==========使用Tubsten功能============

1、如果想要你的程序使用Tungsten功能,可以设置

spark.shuffle.manager=tungsten-sort

2、DataFrame中自动开启了Tungsten功能;

技术分享

==========Tungsten-based shuffle writer内幕============

1、写数据在内存足够大的情况下是写到 Page里面,在Page 中有一条条的 Record,如果内存不够的话会Spill到磁盘上

技术分享

2、 如何看内存是是否足够呢?两方面:

1)    系统默认情况下给ShuffleMapTask最大准备了多少内存空间,默认情况下是ExecutorHeapMemory * 0.8 * 0.2

spark.shuffle.memoryFraction=0.2 spark.shuffle.safetyFraction=0.8

2)    另外一方面是和Task处理的Partition大小紧密相关;

3、Tungsten下获取数据的类叫做 BlockStoreShuffleReader,其底层其实是Page;

王家林老师名片:

中国Spark第一人

新浪微博:http://weibo.com/ilovepains

微信公众号:DT_Spark

博客:http://blog.sina.com.cn/ilovepains

手机:18610086859

QQ:1740415547

邮箱:[email protected]


本文出自 “一枝花傲寒” 博客,谢绝转载!

以上是关于王家林谈Spark性能优化第八季之Spark Tungsten-sort Based Shuffle 内幕解密的主要内容,如果未能解决你的问题,请参考以下文章

王家林谈Spark性能优化第九季之Spark Tungsten内存使用彻底解密

Spark性能优化第八季之Spark Tungsten-sort Based Shuffle

王家林谈Spark性能优化第六季

王家林谈Spark性能优化第一季!(DT大数据梦工厂)

王家林谈Spark性能优化第四季!

Spark性能优化第七季之Spark 钨丝计划