spark性能调优(二):内存

本文介绍了Spark内存管理的细节,包括堆内内存和堆外内存的优缺点,以及如何根据数据模式选择合适的内存类型。重点讨论了RDD的缓存策略,强调了正确使用Cache的重要性,并提供了避免OOM的方法,如调整存储级别和监控内存使用。
摘要由CSDN通过智能技术生成

一、spark内存简介

spark 2.0后,基本上spark内存的管理就已经自动化了,内存出现问题基本上是一些数据问题。比如数据倾斜
在这里插入图片描述

  • spark.executor.memory是绝对值,指定了executor进程的JVM Heap总大小
  • spark.memory.fraction是比例值,标记spark处理分布式数据集的内存总大小
  • spark.memory.storageFraction(默认0.5)也是比例值,进一步划分Execution
    Memory和Storage Memory的大小
  • Storage Memory:用于缓存数据,当一个RDD被引用多次时,就可以考虑对其进行Cache,从而提升作业的执行效率
  • Execution Memory:用于缓存在执行shuffle过程中产生的中间数据
  • User Memory: 用户自定义的数据结构或Spark内部元数据
  • Reserved Memory:预留内存,固定300M

二、堆内内存 or 堆外内存?

在管理方式上,spark会分为堆内内存(On-Heap Memory)和堆外内存(Off-Heap Memory),上述说的是堆内内存
1、堆外内存

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包

    打赏作者

    我爱夜来香A

    你的鼓励将是我创作的最大动力

    ¥1 ¥2 ¥4 ¥6 ¥10 ¥20
    扫码支付:¥1
    获取中
    扫码支付

    您的余额不足,请更换扫码支付或充值

    打赏作者

    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值