Spark:MEMORY_ONLY_SER_2 - 奇怪的内存行为
Posted
技术标签:
【中文标题】Spark:MEMORY_ONLY_SER_2 - 奇怪的内存行为【英文标题】:Spark: MEMORY_ONLY_SER_2 - strange memory behavior 【发布时间】:2016-03-10 22:02:54 【问题描述】:我使用 storageLevel = MEMORY_ONLY_SER_2
存储 RDD,以防万一一个执行器丢失,还有另一个数据副本。
然后我发现了一些奇怪的东西:
-
当我使用 storageLevel =
MEMORY_ONLY_SER
(1xReplicated) 时,2xReplicated RDD 的 Size in Memory 似乎相同
即使我还有很多剩余的存储内存,缓存的分数也无法达到 100%。
我是否正确理解 storageLevel = MEMORY_ONLY_SER_2
?为什么 2xReplicated 的 Size in Memory 没有 1xReplicated 的两倍?谢谢!
【问题讨论】:
【参考方案1】:我猜可能你所有的缓存内存都用完了,所以不管你用了多少次复制。
不知道给每个executor分配了多少内存,如果分配很多,可以增加spark.storage.memoryFraction
的值,默认值为0.6
。
如果您只是为了验证MEMORY_ONLY_SER_2
的成本是否是MEMORY_ONLY_SER
的两倍,您可以使用一个小型数据集。
【讨论】:
以上是关于Spark:MEMORY_ONLY_SER_2 - 奇怪的内存行为的主要内容,如果未能解决你的问题,请参考以下文章
大数据技术之_19_Spark学习_05_Spark GraphX 应用解析 + Spark GraphX 概述解析 + 计算模式 + Pregel API + 图算法参考代码 + PageRank(
大数据技术之_19_Spark学习_02_Spark Core 应用解析+ RDD 概念 + RDD 编程 + 键值对 RDD + 数据读取与保存主要方式 + RDD 编程进阶 + Spark Cor
大数据技术之_27_电商平台数据分析项目_02_预备知识 + Scala + Spark Core + Spark SQL + Spark Streaming + Java 对象池
不清楚在 aws cloudformation yaml 模板中添加 --conf spark.jars.packages=org.apache.spark:spark-avro_2.11:2.4.4