取消
顯示的結果
而不是尋找
你的意思是:

管道與很多火花緩存清理的最佳實踐?

Michael_Galli
因素二世

我們有許多並發的情況Azure Datafactory筆記本運行在一個磚集群互動(Azure E8係列司機,1 - 10 E4係列驅動程序自動定量)。

每個筆記本讀取數據,一個dataframe.cache()來創建一些計數之前/之後運行dropDuplicates()為度量日誌記錄/數據質量的目的,像SSIS。

幾小時後,工作在集群上就會失敗,然後集群需要重啟。我認為原因是緩存。

推薦使用嗎spark.catalog.clearCache ()在每個筆記本(這是否影響其他在集群上運行工作?),或者有其他的想法更好的集群緩存清理嗎?

1接受解決方案

接受的解決方案

Hubert_Dudek1
尊敬的貢獻者三世

這個緩存動態保存到磁盤,如果沒有在內存中。所以我不認為這是一個問題。然而,最佳實踐是使用“unpersist()方法在代碼緩存。在下麵的例子中,我的答案,緩存/持久化方法僅僅是適當的時候運行多個操作相同的數據幀。你不需要它在其他情況下,3.0火花AQE和優化處理得更好。請檢查日誌集群衰落的原因。

df_cached = df.persist() #這是好多次緩存,因為我們將使用df_cached df1 = df_cached。some_actions_and_transformations df2 = df_cached。some_actions_and_transformations df3 = df_cached。some_actions_and_transformations #清理緩存df_cached.unpersist ()

在原帖子查看解決方案

1回複1

Hubert_Dudek1
尊敬的貢獻者三世

這個緩存動態保存到磁盤,如果沒有在內存中。所以我不認為這是一個問題。然而,最佳實踐是使用“unpersist()方法在代碼緩存。在下麵的例子中,我的答案,緩存/持久化方法僅僅是適當的時候運行多個操作相同的數據幀。你不需要它在其他情況下,3.0火花AQE和優化處理得更好。請檢查日誌集群衰落的原因。

df_cached = df.persist() #這是好多次緩存,因為我們將使用df_cached df1 = df_cached。some_actions_and_transformations df2 = df_cached。some_actions_and_transformations df3 = df_cached。some_actions_and_transformations #清理緩存df_cached.unpersist ()

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map