一個月前
我有一個大dataframe (> 1 tb)我在鋪有保存格式(這個用例不是δ)。當我保存dataframe使用.format(“鋪”)導致幾個拚花文件。我希望這些文件是一個特定的大小(即不大於500 mb)。有辦法執行?
假設你想要平均分區大小為400 mb,那麼你能做的:
(df。重新分區(1024 * 1024 / / 400).write.mode(覆蓋).format(鋪).save(路徑/ /文件))
在原帖子查看解決方案
嗨@erigaud美好的一天!
當你保存數據,你可以通過parquet.block.size配置作為一個選項:
例子:
spark.read.parquet (“dbfs: /δ/ delta-path / part-xxxx.snappy.parquet”) .write.mode(“覆蓋”).option (“parquet.block。大小",500).parquet (“/ tmp / vinay /拚花/ blocksize1”)
嗨@erigaud
謝謝你發布你的問題在我們的社區!我們很高興幫助你。
幫助我們為您提供最準確的信息,請您花一些時間來回顧反應和選擇一個最好的回答了你的問題嗎?
這也將有助於其他社區成員可能也有類似的問題在未來。謝謝你的參與,讓我們知道如果你需要任何進一步的援助!
除了上麵的解決方案提供,我們也可以通過指定最大控製行為記錄每個文件如果我們有一個粗略的估計有多少記錄應寫入到文件達到500 MB的大小。
df.write。選項(“maxRecordsPerFile”, 1000000)
從未顯出
加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。
點擊在這裏注冊今天,加入!
參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。