Spark内存管理
来源:互联网 发布:优斗士网络推广效果 编辑:程序博客网 时间:2024/04/30 18:59
spark内存用途:
• RDD存储
当调用RDD 的persist() 或cache() 方法时,这个RDD 的分区会被存储到缓存区中。Spark 会根据spark.storage.memoryFraction 限制用来缓存的内存占整个JVM 堆空间的
比例大小。如果超出限制,旧的分区数据会被移出内存。
• 数据混洗与聚合的缓存区
当进行数据混洗操作时,Spark 会创建出一些中间缓存区来存储数据混洗的输出数据。这些缓存区用来存储聚合操作的中间结果,以及数据混洗操作中直接输出的部分缓存数据。
Spark 会尝试根据spark.shuffle.memoryFraction 限定这种缓存区内存占总内存的比例。
• 用户代码
Spark 可以执行任意的用户代码,所以用户的函数可以自行申请大量内存。例如,如果一个用户应用分配了巨大的数组或者其他对象,那这些都会占用总的内存。用户代码可
以访问JVM 堆空间中除分配给RDD 存储和数据混洗存储以外的全部剩余空间。
在默认情况下,Spark 会使用60%的空间来存储RDD,20% 存储数据混洗操作产生的数据,剩下的20% 留给用户程序。用户可以自行调节这些选项来追求更好的性能表现。如果
用户代码中分配了大量的对象,那么降低RDD 存储和数据混洗存储所占用的空间可以有效避免程序内存不足的情况。
阅读全文
0 0
- spark 内存管理
- Spark内存管理
- Spark内存管理模型
- spark 内存管理
- Spark(二): 内存管理
- Spark内存管理
- Spark(二): 内存管理
- Spark(二): 内存管理
- Spark 内存管理概述
- spark内存管理模块
- spark 内存管理
- Spark 内存管理
- Spark 内存管理详解
- Spark内存管理
- Spark内存管理模型
- “戏”说spark---spark 内存管理详解
- spark的内存分配管理
- Apache Spark 内存管理详解
- 轮廓系数
- prim模板(hdu1102为例)
- IntelliJ Idea 集成svn 和使用
- Android Telephony分析(三) ---- RILJ详解
- jflash合并bin文件
- Spark内存管理
- node常用命令
- C++之try catch 异常处理入门实例
- 逼老板喝火锅锅底 警方接警赶到制止却无端遭打肇事者一伙人围殴
- SSID 服务集标识符(Service Set Identifier)
- LintCode 格雷编码
- CentOS6.x 安装 Docker 和 Docker Compose
- 五步搞定Android开发环境部署——非常详细的Android开发环境搭建教程
- java文件上传