嗨,我是磚的筆記本上做一些簡單的事情:
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,因為它是更容易和更快的移動1文件而不是10 k文件。
我尋找的是使用這種或類似的可能性:
df.spark.checkpoint ()
後來使用df.head()沒有驗算或to_csv沒有驗算,隻是時間合並計算分區。
認為希望是默認的事實,將檢查,但是當我看它創造了抽樣文件在磁盤上而不是使用它,它再計算查詢。
謝謝!