2017-04-13 68 views
1

我希望创建一个不包含重复jsons的数组。我曾使用LATERAL VIEW EXPLODE打破初始数组,现在我想将我收到的字符串json分组,并根据一个键创建合并的jsons。 例如,如果我有: Col1中:蜂巢创建JSON数组不是包含重复

{"key" : ke , "value" : 1 } 
{"key" : ke , "value" : 2 } 
{"key" : ke1 , "value" : 5 } 

我想有

{"key" : ke , "value" : 3 } 
{"key" : ke1 , "value" : 5 } 

你能帮助我吗?

+0

这不是一个有效的JSON。 –

+0

每个字符串是在不同的行中的列 –

+0

字符串值应是合格 –

回答

0
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 
; 
+0

如果我想添加这个更复杂的结构,具有更多的列,可我只使用GROUP BY对某列? –

+0

请打开一个新的问题, –

+0

str将从表格中排出一行? –