我有一个带有ID和json的配置单元表,如下所示:
id json
----------
21 | {"temp":"3","list":[{"url":"aaa.com"},{"url":"bbb.com"}]}
42 | {"temp":"2","list":[{"url":"qqq.com"},{"url":"vvv.com"}]}
所需输出如下:
id url
----------
21 | aaa.com
21 | bbb.com
42 | qqq.com
42 | vvv.com
有人能帮忙做这个Hive查询吗?
直接应用explode()不起作用,因为json列是字符串。
2条答案
按热度按时间f8rj6qna1#
尝试以下查询:
输出:
功能说明:
Stack
--用于创建示例数据get_json_object
--从json字符串提取数据regexp_replace
--替换[,],"
人物split
--在上拆分,
这将返回数组explode
--使用数组列进行分解krcsximq2#
你可以用
get_json_object()
以及explode()
方法一起作为