我在DataFrame上调用cache()
,我认为它完全缓存成功,因为在Spark UI中,我可以看到存储选项卡中的Frsction缓存字段为100%。但同时我看到磁盘上的大小不为零。Spark缓存:缓存为100%,而磁盘上的大小不为零,为什么?
请注意,我在群集(> 60GB)中有足够的内存,DataFrame大小为37GB,但我看到4.7GB保存在磁盘上。
这里是我所看到的屏幕截图:
我不知道为什么/时,这种情况下会发生什么?
P.S.我在EMR 5.0上使用Spark 2.0.0
对不起,删除我的评论。我的第一条评论是如果你已经为Spark分配了足够的内存。现在,你可以尝试'persist(MEMORY_ONLY)'并查看输出是否有区别? – philantrovert