我正在使用storageLevel = MEMORY_ONLY_SER_2存储RDD,以防一个执行器丢失,还有另一个数据副本。
然后我发现了一些奇怪的东西:
我是否正确理解storageLevel = MEMORY_ONLY_SER_2?与1xReplicated相比,为什么2xReplicated没有内存大小的两倍?谢谢!
答案 0 :(得分:0)
我想也许你所有的缓存内存都会被使用,所以不管你使用了多少复制。
我不知道为每个执行器分配了多少内存,如果分配了很多,可以增加 spark.storage.memoryFraction 的值,默认值为0.6。
如果您只是要验证MEMORY_ONLY_SER_2的成本是MEMORY_ONLY_SER的两倍,您可以使用一个小数据集。