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

火花司機崩潰大型文本寫作

黃鸝
新的貢獻者三世

我使用一個大型文本變量,工作成單行JSON,火花可以美麗的過程。使用單個節點256 GB 32核心Standard_E32d_v4“集群”,這應該足夠內存數據集(沒見過集群內存使用超過130 GB)。但是我越來越崩潰”火花驅動程序意外停止並重新啟動……”There is no further info on the failure. This happens when writing an intermediate step to text file using:

str_variable dbutils.fs.put(“路徑/ filename.txt”,真的)

我試著寫/ tmp /以及Azure blob,相同的結果。

我開始向下一個gc調優路但還沒有算出了集群配置增加最大的堆大小,目前30 gb

任何有關這可能會導致什麼?不知道還能怎樣解決這個限製,因為我已經打破了管道分成intermediate-step-write,垃圾收集/重置內存狀態,繼續從中間,流

1接受解決方案

接受的解決方案

黃鸝
新的貢獻者三世

single_line_text_df.write @Vigneshraja Palaniraj我不相信。json是有效的。我試過了所有的str > > single_line_df > >文件組合。如果沒有dbutils。fs限製(不清楚為什麼低性能相對於python fileobject.write())然後我想唯一的其他考慮是str > > single_line_json_df處理' \ n ' spark.read.json一樣(“filepath”)

在原帖子查看解決方案

5回複5

pvignesh92
尊敬的貢獻者

dbutils @David宅地嗨,當前的實現。fs是單線程的,對司機執行最初的清單,然後啟動一個火花工作執行上麵的操作。所以我想把操作運行在一個核心和最終可能打破。

你試過的可能性將變量存儲為文本dataframe和寫作的道路使用dataframe作家嗎?

黃鸝
新的貢獻者三世

單線程dbutils也是如此。fs顯著不同於標準的Python

開放(f = '路徑/ newfile.txt ', ' w ') f.write (str_variable) f.close ()

這實際上很好工作,花了15秒,邊際內存使用量的增加。文本文件是8.3 gb。令人驚訝的dbutils。fs沒有可比性

我嚐試使用df文本。問題是字符串將在單個行,寫單行,讀回df單行(即使我插入換行創建一行JSON)。我一直在使用然後spark.read的理由。json是將文本轉換成json df一行。我很樂意將直接從大str > >一行JSON df沒有編寫文本,read-JSON操作直接但不知道怎麼做

pvignesh92
尊敬的貢獻者

嗨@David小丘將df.write。json幫助你來儲存json變量的路徑,可以避免使用df.write.text你麵臨的問題。

黃鸝
新的貢獻者三世

single_line_text_df.write @Vigneshraja Palaniraj我不相信。json是有效的。我試過了所有的str > > single_line_df > >文件組合。如果沒有dbutils。fs限製(不清楚為什麼低性能相對於python fileobject.write())然後我想唯一的其他考慮是str > > single_line_json_df處理' \ n ' spark.read.json一樣(“filepath”)

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

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

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

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

Baidu
map