Hive collect_set()排序和concat_ws()的使用

array():将两列合并为一列 如 将a字段 和b字段 合并为 c字段

a b c
1 1 “1”,“1”
1 2 “1”,“2”

collect_list():根据某个字段分组后,把分在一组的数据合并在一起,默认分隔符’,’ 如

a b c
1 1 “1”,“2”
1 2 “1”,"2”
1 2 “1”,“2”,“2”

collect_set():在collect_list()的基础上去重 另:set聚合无序,可以使用sort_array()函数进行排序 select *,concat_ws(",",sort_array(collect_set(b) over(distribute by a))) c from a;

a b c
1 1 1,2
1 2 1,2
1 2 1,2

concat_ws():指定参数之间的分隔符,将数组或集合格式的数据转换为普通数据 常与array,collect_set一起用,用法请看collect_set()

你可能感兴趣的:(Hive collect_set()排序和concat_ws()的使用)