Hive 创建不包含重复的 Json 数组
Posted
技术标签:
【中文标题】Hive 创建不包含重复的 Json 数组【英文标题】:HIve Create Json Array that not contains duplicate 【发布时间】:2017-04-13 11:28:22 【问题描述】:我想创建一个不包含重复的 json 数组。我曾使用 LATERAL VIEW EXPLODE 来破坏初始 Array ,现在我想对收到的字符串 json 进行分组,并根据一个键创建合并的 json。 例如,如果我有: Col1:
"key" : ke , "value" : 1
"key" : ke , "value" : 2
"key" : ke1 , "value" : 5
我想要
"key" : ke , "value" : 3
"key" : ke1 , "value" : 5
你能帮帮我吗?
【问题讨论】:
这不是一个有效的 JSON。 每个字符串在列中的不同行上 字符串值应该是合格的 【参考方案1】:select concat('"key":"',jt.key,'","value":',sum(jt.value),'')
from mytable t
lateral view json_tuple(Col1, 'key', 'value') jt as key,value
group by jt.key
;
【讨论】:
如果我想在一个更复杂的结构中添加这个,有更多的列,我可以只对某个列使用 GROUP BY 吗? 请为此打开一个新问题 str 将是表格中的一行? 是的,现在改成Col1
以上是关于Hive 创建不包含重复的 Json 数组的主要内容,如果未能解决你的问题,请参考以下文章