練習快取:第 1 部分
接下來幾個練習中,你會嘗試用不同方式來快取兩個 DataFrame。
一個 dataframe df1 是從 csv 檔載入的,並已對它做了多個前處理步驟。由於 df1 會被重複使用,因此很適合快取。
第二個 dataframe df2 是在 df1 基礎上再做運算密集的步驟而建立的,它同樣也是快取的候選。
因為 df2 依賴 df1,問題來了:到底該快取 df1,還是快取 df2 比較好?
在這個練習中,我們先試著快取 df1。請記下每個動作花費的時間。我們會在下一個練習中比較這些結果。
本練習屬於課程
Python Spark SQL 入門
練習說明
- 只快取
df1。 - 先對
df1執行一次動作並重複一次,接著對df2執行一次動作並重複一次。這部分已替你完成。 - 確認
df1是否已被快取。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Unpersists df1 and df2 and initializes a timer
prep(df1, df2)
# Cache df1
____
# Run actions on both dataframes
run(df1, "df1_1st")
run(df1, "df1_2nd")
run(df2, "df2_1st")
run(df2, "df2_2nd", elapsed=True)
# Prove df1 is cached
print(____)