iT邦幫忙

2023 iThome 鐵人賽

DAY 23
0
AI & Data

30天胡搞瞎搞學會pyspark系列 第 23

[ Day 23 ] - Pyspark | Advance - Persist - 關於效能

  • 分享至 

  • xImage
  •  

前幾天進行了沒有coding 且生硬的知識介紹後,相信大家應該都多多少少有一些對於基礎架構的了解吧(?)
那我們今天就稍微深入一點點關於分散式架構與效能議題
也讓大家重拾寫code 的樂趣吧(?)
今天想要介紹的function是Persist()

Presist()是什麼?

這個30天系列文至今,講到的function都是資料操作的function,那persist()是什麼呢?
我這邊會把它定位在效能調校的function,或是我在資料的操作過程中,我想要有一個暫存的地方時使用的
還記幾天有提過的**Pyspark是一個"惰性執行"**的架構,意味著當我有多個複雜運算的時候,當我在開發時,可能需要利用show()來檢查我的Dataframe時,我每一次都會需要從頭開始做運算,其實不只是消耗很多時間,也消耗很多運算資源。

所以當今天我如果先把它作為一個暫存的table 保存起來時,我就可以不用從第一步再去跑過我的每一個運算,進而可以減少很多資源消耗及時間[在開發的過程中]

當然,因為他的會吃的資源會是你的記憶體,所以也要非常小心地使用,當你不需要再繼續使用它時,千萬要記得要將他釋放出來

Unpersist()

使用unpersist(),就可以將你剛剛使用的資源釋放出來,也就不會造成記憶體負擔了!

如果有任何不理解、錯誤或其他方法想分享的話,歡迎留言給我!喜歡的話,也歡迎按讚訂閱!

我是 Vivi,一位在雲端掙扎的資料工程師!我們下一篇文章見!Bye Bye~
【本篇文章將同步更新於個人的 Medium,期待與您的相遇!】


上一篇
[ Day 22 ] - Pyspark | 寫在18天之後 - 底層概念篇 - RDD
下一篇
[ Day 24 ] - Pyspark | Advance - Window Function
系列文
30天胡搞瞎搞學會pyspark30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言