我有一张这样的桌子
Col1 Col2 Col3
A 1 word1
A 2 word2
A 3 word3
A 4 word4
B 1 word1
B 3 word3
我想用col1对col2和col3进行分组,但是将col2和col3保存在地图中,如下所示:
Col1 map(col2, col3)
A [(1, word1), (2, word2), (3, word3), (4, word4)]
B [(1, word1), (3, word3)]
我知道有一种方法可以只使用一个数组,如下所示:Grouping hive rows in an array of this rows
但我想知道这是否可能与地图(键/值对).
最佳答案 在BrickHouse
http://github.com/klout/brickhouse中使用“收集”UDF
select col1, collect( col2, col3 )
from mytable
group by col1
您还可以将地图与“union_map”UDAF合并