我有以下json对象列表:
[
{
"AccountId": "xxxx",
"ResourceId": "yyyy",
"ProductName": "zzzz",
"Tags": [{"Name": "John Doe"}, {"Environment":"DEV"}]
},
{
"AccountId": "aaaa",
"ResourceId": "bbbb",
"ProductName": "cccc",
"Tags": [{"Name": "Jane Doe"}, {"Environment":"DEV"}]
},
{
"AccountId": "iiii",
"ResourceId": "jjjj",
"ProductName": "kkkk",
"Tags": [{"Environment":"QA"}]
}
]
我尝试使用以下方法将其制作成数据帧:
ss = SparkSession.builder.appName("PythonSpark2").getOrCreate()
sc = ss.sparkContext
jsonList = someFunctionToCreate()
jsonDf = ss.read.json(sc.parallelize(jsonList))
jsonDf.show(truncate=False)
最终结果会弄乱“标签”列。数组中的json对象列表将被拆分为一个数组的数组,该数组的值为json值
|---------------------|------------------|---------------------|---------------------|
| AccountId | ResourceId | ProductName | Tags |
|---------------------|------------------|---------------------|---------------------|
| xxxx | yyyy | zzzz | [[JohnDoe,],[,DEV]] |
|---------------------|------------------|---------------------|---------------------|
| aaaa | bbbb | cccc | [[JaneDoe,],[,DEV]] |
|---------------------|------------------|---------------------|---------------------|
| iiii | jjjj | kkkk | [[,],[,QA]] |
|---------------------|------------------|---------------------|---------------------|
我有没有办法防止这种情况发生?还是我对json使用了一个糟糕的结构
有一个函数只是将列转换为json,
to_json
相关问题 更多 >
编程相关推荐