spark性能调优:内存
Posted 我爱夜来香A
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spark性能调优:内存相关的知识,希望对你有一定的参考价值。
Memory
一、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
以上是关于spark性能调优:内存的主要内容,如果未能解决你的问题,请参考以下文章