hive中如何实现group_concat函数
上节说到在mysql中我们很容易使⽤group_concat
但是在hive中很遗憾的是没有这个函数
冬季两项起源于
直接上实例,先看⼀下我们的表数据和字段结构合欢树原文
我们的需求是按名字分组,每⾏显⽰名字,所选的所有科⽬(要求@符号连接),所有的科⽬对应的成绩(要求-符号连接) 1).先使⽤collect_set函数使多⾏成为⼀⾏数组
符号名字hive>select name,collect_set(subject)  res1 ,
论贵粟疏> collect_set(cast(score as string)) res2
> from stu group by name;
2). 加上concat_ws函数可以取出数组中的每⼀个元素的值在⽤分隔符连接
hive>select name,concat_ws('@',collect_set(subject))  res1 ,
> concat_ws('-',collect_set(cast(score as string))) res2
> from stu group by name;
学习雷锋事迹
防范措施这样我们在hive中最终实现了mysql中的group_concat函数.