spark性能调优 | 内存优化

目录

    • 我们先了解一下有哪些内存
    • 温馨提示
    • RDD示范(spark版本2.1.1)
    • RDD进行优化
    • Df和Ds进行示范

我们先了解一下有哪些内存

 1.storage内存   存储数据,缓存         可预估
 2.shuffle内存   计算join groupby     不可预估
 spark1.6之前  静态管理的,spark1.6之后变成动态管理  默认0.5

温馨提示

在公司尽量不要写rdd(性能不好)

RDD示范(spark版本2.1.1)

我们转成rdd去跑任务,看看内存占有多大
spark性能调优 | 内存优化_第1张图片
在这里插入图片描述
我们也可以去excutor看内存大小
显示红色,是因为我写了while循环
spark性能调优 | 内存优化_第2张图片

RDD进行优化

看官网
https://spark.apache.org/docs/2.4.5/configuration.html#compression-and-serialization
我们采用kryo(只支持rdd)
spark性能调优 | 内存优化_第3张图片
spark性能调优 | 内存优化_第4张图片
我们需要看看rdd的缓存级别
https://spark.apache.org/docs/2.4.5/rdd-programming-guide.html#which-storage-level-to-choose
使用序列化的缓存级别
spark性能调优 | 内存优化_第5张图片
spark性能调优 | 内存优化_第6张图片
发现1.7g直接变成了270m,优化还是挺大的!

Df和Ds进行示范

看官网
https://spark.apache.org/docs/2.4.5/sql-getting-started.html#creating-datasets
Ds会专门使用自己的偏码进行序列化
spark性能调优 | 内存优化_第7张图片
spark性能调优 | 内存优化_第8张图片
内存大小34.2M
spark性能调优 | 内存优化_第9张图片
我们还可以进行序列化(变化不大)
spark性能调优 | 内存优化_第10张图片
进行优化之后33.9M
spark性能调优 | 内存优化_第11张图片

你可能感兴趣的:(Spark优化,spark,大数据,分布式)