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

Azure DBR——加載列表json文件但列有特殊字符。(例:{“九頭蛇:xxxx”:{“九頭蛇:價值”:“yyyy”、“九頭蛇:value1”:“zzzzz”}

兔子
新的貢獻者三世

Azure DBR——必須列表json文件加載到數據幀,然後從DF磚數據表但列特殊字符,得到以下錯誤。

兩列(鍵)和價值(json)記錄在json文件中特殊字符。

#不能創建一個表有一個嵌套列的名稱包含無效字符(',',':',';')在蜂巢metastore。表:“分貝”。“表”;專欄:九頭蛇:xxxx

還需要struct類型轉換成字符串。

例:

{

:“@context /環境/ xxxxx”,

:“@ id / xxxxx”,

“@type”:“九頭蛇:集合”,

“九頭蛇:xxxx”:【

{

:“@ id / xxxxx / 1”,

“@type”:“產品”,

“類型”:“更新”,

“id”:空,

“pid”: 2

“pCode”:空,

“詳情”:“abcdefgh”,

“updt”:“2019 - 01 - 09年t03:04:27 + 01:00”,

“代碼”:[

“123456789101”

]

},

{

“@ id”:“/ xxxxx / 2”,

“@type”:“產品”,

“類型”:“更新”,

“id”:空,

“pid”: 2

“pCode”:空,

“詳情”:“abcdefgh”,

“updt”:“2019 - 01 - 09年t03:04:27 + 01:00”,

“代碼”:[

“123456789101”

]

}

),

“九頭蛇:totalItems”: 2

“九頭蛇:視圖”:{

:“@ id / xxxxx ? page = 1”,

“@type”:“九頭蛇:大眾”,

“九頭蛇:第一”:“/ xxxxx ? page = 1”,

“九頭蛇:最後一次”:“/ xxxxx ? = 12頁”,

“九頭蛇:下一個”:“/ xxxxx ? page = 245”

},

“九頭蛇:搜索”:{

“@type”:“九頭蛇:IriTemplate”,

“九頭蛇:模板”:“xxxxxxxxxxxxxxxxx”,

“九頭蛇:variableRepresentation”:“BasicRepresentation”,

“九頭蛇:映射”:【

{

“九頭蛇:價值”:“zzzzz”

“@type”:“xx”,

“變量”:“yy(前)”,

“財產”:“yy”,

“要求”:假的

},

{

“九頭蛇:價值”:“嘶嘶”

“@type”:“科幻小說”,

“變量”:“asf”,

“財產”:“四強”,

“要求”:假的

}

]

}

}

請提供你的建議來解決它。我用pyspark azure磚。

4回複4

werners1
尊敬的貢獻者三世

您可以重命名列在所以(pyspark)或在scala

你還可以定義手動模式。

平的json結構,例如爆炸功能。

有趣的閱讀。

兔子
新的貢獻者三世

謝謝你的解決方案沃納。是的,我們可以按你的建議能夠重命名列。但這裏的問題是列的值也是一個json(結構體的數組)。

一個實例;

“九頭蛇:映射”是一個列的值叫什麼“九頭蛇:價值”。在這裏,我們必須重命名“九頭蛇:價值”“hydra_value”。

“九頭蛇:映射”:【

{

“九頭蛇:價值”:“zzzzz”

“@type”:“xx”,

“變量”:“yy(前)”,

“財產”:“yy”,

“要求”:假的

},

Hubert_Dudek1
尊敬的貢獻者三世

最好的就是手動定義模式。有不錯的文章從人完全相同的問題https://towardsdev.com/create-a-spark-hive-meta-store-table-using-nested-json-with-invalid-field-nam..。

兔子
新的貢獻者三世

謝謝你的解決方案@Hubert杜德克。在我們的場景中我們不能夠定義模式以來手動模式可能不同文件的文件。所以我思考如何根據Json動態模式。請讓我知道如果你有任何教會。

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

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

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

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

Baidu
map