Hive:Concat一张地图

时间:2014-11-03 21:02:43

标签: hadoop hive hql

当我尝试连接map

时,我遇到了Hive的一个小麻烦

假设我有类似的东西:

var 1 | var 2

x | map(key1:value1)

x | map(key2:value2)

x | map(key3:value3)

y | map(key4:value4)

我想要得到的东西,它就是那样的东西

var 1 | var 2

x | map(key1:value1 ; key2:value2; key3:value3)

y | map(key4,value4)

类似于地图连接的东西。

如何进行Hive?

1 个答案:

答案 0 :(得分:0)

使用此查询...

选择var1,collect_set(CONCAT_WS(',',map_keys(var2),map_values(var2)))作为var2的示例组中的var2;

这会让你得到这样的输出......

var1 | VAR2

x | [ “KEY1,值1”, “KEY2,值2”, “KEY3,值3”]

y | [ “KEY4,VALUE4”]