嗨
我進口大量的json文件,問題是,他們不是我所期望的格式良好的json文件(盡管可能仍然有效),每個文件隻包含一個記錄是這樣的(這隻是一個抽象)
[{“名稱”:“名字”,“姓”:“MySurname”},[{“地址”:“1”,“類型”:“家”},{“地址”:“2”,“類型”:“家”}],[{“Tel”:“1”}, {“Tel”:“2”}]]
在理想情況下,我寧願導入它使用標準json讀選項巴士不能找出結構模式。
我的第一個方法涉及創建一個UDF,進口記錄作為一個字符串,並返回一個新的正確格式化對象
def結構(對象):
結構= {}
結構(“名字”)[0]=對象(“名稱”)
結構(“姓”)[0]=對象(“姓”)
["地址"]=[]結構
["電話"]=[]結構
地址的對象[1]:
結構(“地址”)。追加({“地址”:解決“地址”,“類型”:地址(“類型”)})
在對象[2]:電話
結構(“電話”)。追加({“Tel”:電話(“Tel”)})
返回的結構
這個工作但是它會慢,更直觀。
使用這樣的一個模式“作品”,但元素ID會回來為零
mySchema = StructType ([
StructField(“名字”,StringType(),真的),
StructField(“姓”,StringType(),真的),
StrutType (StructField (“id”,
StructType ([StructField (“ID”, StringType(),真的)))
)
)
])
嗨@Michael約翰遜,
我想與大家分享以下筆記本包含示例如何處理複雜的數據類型,比如JSON。請檢查下麵的鏈接,讓我們知道如果你還需要幫助https://docs.m.eheci.com/optimizations/complex-types.html
嗨@Michael約翰遜,
我想與大家分享以下筆記本包含示例如何處理複雜的數據類型,比如JSON。請檢查下麵的鏈接,讓我們知道如果你還需要幫助https://docs.m.eheci.com/optimizations/complex-types.html