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

然后我发现了一些奇怪的东西:
MEMORY_ONLY_SER (1xReplated)时,2xReplicRDD的内存中的storageLevel大小似乎是相同的。我是否正确地理解了storageLevel = MEMORY_ONLY_SER_2?为什么2xReplated内存中的大小不是1xReplated内存的两倍?谢谢!
发布于 2015-12-08 05:57:08
我猜可能您缓存的所有内存都被使用了,所以不管您使用了多少次复制。
我不知道为每个执行器分配了多少内存,如果您分配了很多,可以增加spark.storage.memoryFraction的值,默认值是0.6。
如果只是为了验证MEMORY_ONLY_SER_2的成本是否是MEMORY_ONLY_SER的两倍,则可以使用小型数据集。
https://stackoverflow.com/questions/34114307
复制相似问题