【问题标题】:HIve Create Json Array that not contains duplicateHive 创建不包含重复的 Json 数组
【发布时间】: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。
  • 每个字符串在列中的不同行上
  • 字符串值应该是合格的

标签: sql hadoop hive bigdata


【解决方案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
猜你喜欢
  • 2018-05-28
  • 1970-01-01
  • 1970-01-01
  • 2021-03-02
  • 2020-02-26
  • 2014-06-28
  • 2021-01-27
  • 2019-05-14
  • 2017-10-28
相关资源
最近更新 更多