分享

大数据IMF传奇行动绝密课程第52课:Spark性能优化第八季

 看风景D人 2019-02-24

Spark性能优化第八季

1、“钨丝计划”Shuffle实例
2、“钨丝计划”下的Shuffle解密

./spark-sql --master spark://Master:7077

一、使用Tungsten功能
1、如果想让你的程序使用Tungsten的功能,可以配置:
spark.shuffle.manager = tungsten-sort
2、DataFrame中自动开启了Tungsten功能;
二、Tungsten-sort based shuffle writer内幕
1、写数据在内存足够大的情况下是写到Page里面,在Page中有一条条的Record,如果内存不够的话会Spill到磁盘上
2、如何看内存是否足够呢?两方面
a)系统默认情况下给ShuffleMapTask最大准备了多少内存空间,默认情况下是ExecutorHeapMemory * 0.8(safety fraction) * 0.2(memory fraction)
spark.shuffle.memoryFraction = 0.2 spark.shuffle.safetyFraction = 0.8
b)另外一方面是和Task处理的Partition大小紧密相关;
3、在Tungsten下获取数据的类叫做BlockStoreShuffleReader,其底层其实是Page;
这里写图片描述

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多