如何从 json 数组中获取 hive 中的字符串列表
Posted
技术标签:
【中文标题】如何从 json 数组中获取 hive 中的字符串列表【英文标题】:How to get list of Strings in hive from a json array 【发布时间】:2021-05-06 22:33:28 【问题描述】:我有以下 json 字符串
"userId": 12345,
"eligibleCountries": [
"Level": "COUNTRY",
"Name": "MX"
,
"Level": "COUNTRY",
"Name": "US"
,
"Level": "COUNTRY",
"Name": "CA"
]
我想得到
userID | countries |
---|---|
12345 | ["MX","US","CA"] |
我可以使用GET_JSON_OBJECT
获取用户ID,但对于我们不能使用GET_JSON_OBJECT
的国家/地区列表。
我们如何在 hive 中获得它。
【问题讨论】:
【参考方案1】:你可以使用[*]
select get_json_object('
"userId": 12345,
"eligibleCountries": [
"Level": "COUNTRY",
"Name": "MX"
,
"Level": "COUNTRY",
"Name": "US"
,
"Level": "COUNTRY",
"Name": "CA"
]
','$.eligibleCountries[*].Name') as countries;
【讨论】:
以上是关于如何从 json 数组中获取 hive 中的字符串列表的主要内容,如果未能解决你的问题,请参考以下文章
在 Hive 中,这种模式如何从 json 数组中识别嵌套的 json?