是否有Hive UDF创建具有唯一值的地图? 例如:
col_1 | col_2
-------------
a | x
a | y
b | y
b | y
c | z
c | NULL
d | NULL
这应该返回如下地图
{ a : [x,y], b : [y], c:[z] }
我正在寻找类似于presto的multimap_aggfunction
答案 0 :(得分:0)
使用collect_set
删除每个col_1的重复col_2,然后在此输出上使用map
。
select map(col_1,uniq_col_2)
from (select col_1,collect_set(col_2) as uniq_col2
from tbl
where col_2 is not null
group by col_1
) t