下面举两个例子:
例一:
行转列
数据:
a b 1
a c 2
a b 3
c d 4
c d 5
c d 6
转化为:
a b 1,2,3
c d 4,5,6
创表
Hive>create table test1 (col1 String,col2 String,col3 String) row format delimited fields terminated by ' ';
加载数据:
Hive>load data local inpath '/home/huangwei/test.txt' into table test1;
使用的函数说明:
concat_wa(string SEP,string array<String>) 函数返回字符串连接后的结果,SEP表示各个字符串直接的分割符
Collect_set(col)函数 将col字段进行去重,并合并成一个数组
实现方式:
Hive>select col1,col2,concat_ws(',',collect_set(col3)) from test1 group by col1,col2;
列转行<