【发布时间】:2020-12-17 21:59:34
【问题描述】:
Json
{
"Event": "StudentMarks",
"Marks Info": {
"Marks": [{
"ID": 1,
"Name": "Sub1",
"Value": "95"
}, {
"ID": 2,
"Name": "Sub2",
"Value": "96"
}, {
"ID": 3,
"Name": "Sub3",
"Value": 100
}]
},
"Grade": {
"metric": "pass"
}
}
我正在尝试获取 Marks Info json 下的值,其中包含带有键 Marks 的 json 列表。我能够获得这些值,但我无法像单独的值一样将其拆分出来。
查询我使用
select Student_ID, get_json_object(get_json_object(json_blob,'$.Marks Info'), '$.Marks[*].Value') from my_table where my_condition;
Student_ID |get_json_object(get_json_object(json_blob, '$.Marks Info'), '$.Marks[*].Value')
1 | ["95","96,100"]
所需输出
我希望列名应该是这样的 Sub1 Sub2 Sub2 Grade 并且值应该从列表中爆炸 ["95","96,100"]
有人可以帮我解决这个问题吗?
Student_ID | Sub1 | Sub2| Sub2 | Grade
1 | "95" | "96"| 100 | "pass"
【问题讨论】:
标签: apache-spark hive apache-spark-sql