天天看點

spark優化之重構rdd架構及rdd持久化

什麼是RDD持久化?

spark最重要的一個功能,就是把一個資料集緩存在記憶體,磁盤或者分布式檔案系統中。如果持久化了這一個資料集,那麼對此資料集進行操作的其他操作可以直接複用該資料集,不用重新計算,這會使該操作執行的迅速。

為啥要進行RDD持久化?

因為要不進行持久化的話,如果多次對一個rdd執行算子的話,spark預設會重算。比如rdd3和rdd4同時基于rdd2做運算,如果不做持久化的話,rdd2會計算兩次。

如何做RDD持久化?

1.盡量複用rdd

2.然後對該rdd做持久化

3.如果該rdd資料量多大,可以考慮對該rdd序列化,但是在擷取資料的時候,不要忘了反序列化

4.如果想要高可靠性,可以使用MEMORY_ONLY_2,複制一份副本,并将副本儲存到其他節點上

繼續閱讀