我在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