前幾天進行了沒有coding 且生硬的知識介紹後,相信大家應該都多多少少有一些對於基礎架構的了解吧(?)
那我們今天就稍微深入一點點關於分散式架構與效能議題
也讓大家重拾寫code 的樂趣吧(?)
今天想要介紹的function是Persist()
Presist()
是什麼?這個30天系列文至今,講到的function都是資料操作的function,那persist()是什麼呢?
我這邊會把它定位在效能調校的function,或是我在資料的操作過程中,我想要有一個暫存的地方時使用的
還記幾天有提過的**Pyspark是一個"惰性執行"**的架構,意味著當我有多個複雜運算的時候,當我在開發時,可能需要利用show()
來檢查我的Dataframe時,我每一次都會需要從頭開始做運算,其實不只是消耗很多時間,也消耗很多運算資源。
所以當今天我如果先把它作為一個暫存的table 保存起來時,我就可以不用從第一步再去跑過我的每一個運算,進而可以減少很多資源消耗及時間[在開發的過程中]
當然,因為他的會吃的資源會是你的記憶體,所以也要非常小心地使用,當你不需要再繼續使用它時,千萬要記得要將他釋放出來
Unpersist()
使用unpersist()
,就可以將你剛剛使用的資源釋放出來,也就不會造成記憶體負擔了!
如果有任何不理解、錯誤或其他方法想分享的話,歡迎留言給我!喜歡的話,也歡迎按讚訂閱!
我是 Vivi,一位在雲端掙扎的資料工程師!我們下一篇文章見!Bye Bye~
【本篇文章將同步更新於個人的 Medium,期待與您的相遇!】