【问题标题】:Spark: MEMORY_ONLY_SER_2 - strange memory behaviorSpark:MEMORY_ONLY_SER_2 - 奇怪的内存行为
【发布时间】:2016-03-10 22:02:54
【问题描述】:

我使用 storageLevel = MEMORY_ONLY_SER_2 存储 RDD,以防万一一个执行器丢失,还有另一个数据副本。

然后我发现了一些奇怪的东西:

  1. 当我使用 storageLevel = MEMORY_ONLY_SER (1xReplicated) 时,2xReplicated RDD 的 Size in Memory 似乎相同
  2. 即使我还有很多剩余的存储内存,缓存的分数也无法达到 100%。

我是否正确理解 storageLevel = MEMORY_ONLY_SER_2?为什么 2xReplicated 的 Size in Memory 没有 1xReplicated 的两倍?谢谢!

【问题讨论】:

    标签: scala memory apache-spark persist


    【解决方案1】:

    我猜可能你所有的缓存内存都用完了,所以不管你用了多少次复制。

    不知道给每个executor分配了多少内存,如果分配很多,可以增加spark.storage.memoryFraction的值,默认值为0.6

    如果您只是为了验证MEMORY_ONLY_SER_2 的成本是否是MEMORY_ONLY_SER 的两倍,您可以使用一个小型数据集。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-20
      • 2012-01-23
      • 2019-02-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多