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

Pandas.spark.checkpoint()不會斷了傳承

alejandrofm
價值貢獻

嗨,我是磚的筆記本上做一些簡單的事情:

spark.sparkContext.setCheckpointDir進口pyspark (“/ tmp /”)。熊貓是ps sql =(“”“選擇field1, field2表中日期> = 2021 - 01.01”“”)df = ps.sql (sql) df.spark.checkpoint ()

運行很好,節省抽樣/ mp /然後我想保存df

df.to_csv (' / FileStore /表/測試。csv”,指數= False)

df1.spark.coalesce (1) .to_csv (' / FileStore /表/測試。csv”,指數= False)

又將重新查詢(第一次做它在檢查站,然後再保存文件)。

我做錯了什麼嗎?目前,為了解決這個我保存第一個dataframe沒有檢查點,再次打開和保存合並。

如果我直接使用合並(1)它不並行化。

編輯:

試著

df.spark.cache ()

但仍然再加工當我試著保存到CSV、我想要避免再加工,避免保存兩次。謝謝!

問題是,為什麼它重新計算df1檢查點之後的嗎?

謝謝!

1接受解決方案

接受的解決方案

Hubert_Dudek1
尊敬的貢獻者三世

如果你需要檢查點,請嚐試以下代碼。由於持續下去,你就會避免再加工:

df.spark.checkpoint df = ps.sql (sql) .persist () ()

在原帖子查看解決方案

7回複7

Hubert_Dudek1
尊敬的貢獻者三世

請使用localCheckpoint(真正的)所以它將存儲在執行人並立即觸發。

alejandrofm
價值貢獻

@Hubert杜德克,沒有運氣,你如何使用它在ps dataframe嗎?

為什麼你認為它不工作儲蓄DBFS ?

謝謝!

Hubert_Dudek1
尊敬的貢獻者三世

  • 路徑應該在to_csv目錄,而不是文件作為一個文件= 1分區
  • 嚐試檢查點(渴望= True)
  • 使用df.spark.explain()之前和之後的檢查點
  • 檢查點文件保存到磁盤需要磁盤和計算,從內存中刪除抽樣。那麼,當你從磁盤讀它,它需要重新計算。我認為它沒有意義。我與一些檢查點隻有一次使用UDF函數使REST API調用和需要執行的代碼。Ddatabricks /火花使用懶惰的評價和很多代碼的優化。有時你需要做的一個檢查站,所以它不會做優化的方法。

你好,我是後來重新分區1,因為它是更容易和更快的移動1文件而不是10 k文件。

我尋找的是使用這種或類似的可能性:

df.spark.checkpoint ()

後來使用df.head()沒有驗算或to_csv沒有驗算,隻是時間合並計算分區。

認為希望是默認的事實,將檢查,但是當我看它創造了抽樣文件在磁盤上而不是使用它,它再計算查詢。

謝謝!

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

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

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

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

Baidu
map