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

麵臨問題而將一種類型的嵌套json轉換為其他格式全新json模式

SailajaB
重視貢獻三世

你好,

我們寫平json dataframe用戶定義的嵌套模式使用pysprk json數據磚。但是我們沒有得到預期的格式

期望:

{" ID ":“aaa”, c_id”:[{“反對”:空,“createdate”:“2015 - 10 - 09年t00:00:00z”、“數據”:空,“ID”:“1”},{“反對”:空,“createdate”:“2015 - 10 - 09年t00:00:00z”、“數據”:空,“ID”:“2”},{“反對”:空,“createdate”:“2015 - 10 - 09年t00:00:00z”、“數據”:空,“ID”:“3”}]

但得到:

{" ID ":“aaa”, c_id ":{“反對”:空,“createdate”:“2015 - 10 - 09年t00:00:00z”、“數據”:null, " ID ": " 1 "}},

{" ID ":“aaa”, c_id ":{“反對”:空,“createdate”:“2015 - 10 - 09年t00:00:00z”、“數據”:空,“ID”:“2”}},

{" ID ":“aaa”, c_id”:{“反對”:空,“createdate”:“2015 - 10 - 09年t00:00:00z”、“數據”:空,“ID”:“3”}}

我們嚐試group_by和收集名單但沒有得到預期的格式。

有人能幫助我們有什麼方法來實現它。

提前謝謝你

4回複4

werners1
尊敬的貢獻者三世

我不知道你的代碼是什麼,所以你應該分享它。

也開始json

Hubert_Dudek1
尊敬的貢獻者三世

@wereners說你需要分享代碼。如果dataframe json數組可能需要使用StructType——來獲得,但是如果沒有代碼很難幫助列表。

SailajaB
重視貢獻三世

你好,

謝謝你的回複. .

我在這裏分享代碼塊

df_global_op = df_global.withColumn(“定義”,結構((df_global.id) .alias (" ID ") \

結構((df_global.a) .alias(“騙”)\

(df_global.b) .alias (“createdate”), \

(df_global.c) .alias(“數據”),\

(df_global.d) .alias \ (" id "))

別名(“c_id”))) \

下降(* global_fields) .select(“定義。*”).distinct () .write \

格式(json) \

選項(“ignoreNullFields”,“假”)。\

保存(“/ mnt /測試/ op / 12-08-2021”)

請注意df_global是輸入的平df json . .我們推導json輸出上平一個基於請求的模式。

謝謝你!

SailajaB
重視貢獻三世

@HubertDudek,@werners

上麵有什麼辦法可以解決嗎?

謝謝你!

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

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

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

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

Baidu
map