concat_ws 将多行记录合并成一行
2017-06-12 本文已影响112人
simon000
CONCAT_WS(separator, str1, str2,...)
它是一个特殊形式的CONCAT()
。第一个参数剩余参数间的分隔符。分隔符可以是与剩余参数一样的字符串。如果分隔符是 NULL,返回值也将为 NULL。这个函数会跳过分隔符参数后的任何 NULL 和空字符串。分隔符将被加到被连接的字符串之间
例如
hive > select user_id, concat_ws('_',collect_set(user_name)) as names
from user group by user_id;
OK
1 wangwei,zhangning
2 liyang,hemeng,sanyi
Time taken: 3.204 seconds
其中collect_set的作用是对user_name去重,user_name为string
类型