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

JSON驗證是失敗後寫Pyspark dataframe JSON格式

SailajaB
重視貢獻三世

我們必須轉變dataframe轉換為json格式。所以我們用寫和json格式的最終dataframe把它轉換成json。但當我們驗證json的不適當的json格式的輸出。

請提供你的建議,如何實現這一在磚pyspark嗎

謝謝你!

1接受解決方案

接受的解決方案

AmanSehgal
尊敬的貢獻者三世

400 mn +行轉換成JSON,在我看來不是一個好的解決方案,因為它將大量的空間。

無論如何,所以你JSONlines文件,但你想要JSON對象隻有在該文件。有一個簡單的方法來做到這一點。

火花寫與400 mn +您的數據記錄到“x”數量的JSON文件。

因為磚細胞支持shell命令,您可以運行以下腳本JSONL轉換為JSON文件。遞歸或無論你想運行它。

假設你的blob存儲位置是安裝在dbfs mnt目錄中。

% sh貓/ dbfs / mnt / < JSONlines輸入文件路徑> | sed - e ': ' - e ' N ' - e的美元!ba ' e ' s / \ n /, / g | sed的s / n /, / ' | sed ' s / ^ [/ | sed的s / $ /] / ' > / dbfs / mnt / JSON輸出文件<路徑>

上麵的命令應該轉換您的文件在幾秒鍾內。

用這種方法做分享關於它。

信貸:中等帖子

在原帖子查看解決方案

12個回複12

AmanSehgal
尊敬的貢獻者三世

你能分享:

  1. dataframe樣本和收到的JSON不當
  2. 代碼轉換為JSON格式的數據

SailajaB
重視貢獻三世

嗨,墨爾本,

謝謝你的回複

我們使用下麵的代碼轉換為JSON

df.coalesce (1) .write.format (json) .save (dataLocation)

我們接受下麵的o / p

{“col1”:“一”,“col2”:“B”}

{“col1”:“C”,“col2”:“D”}

我們除了在JSON格式如下

[{“col1”:“一”,“col2”: " B "},

{“col1”:“C”,“col2”:“D”}]

謝謝你!

AmanSehgal
尊敬的貢獻者三世

你所看到的文件是JSONlines。和JSON的區別是沒有方括號和逗號後每一個記錄。

你不應該麵對的問題使用火花在讀取JSON數據。

SailajaB
重視貢獻三世

但是如果我們使用其他Azure中的輸出資源會得到失敗

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

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

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

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

Baidu
map