一、问题
hive如何将
a b 1a b 2a b 3c d 4c d 5c d 6
变为:
a b 1,2,3c d 4,5,6
二、数据
test.txt
cat column_row.txta,b,1 a,b,2 a,b,3 c,d,4 c,d,5 c,d,6
三、答案
1. 建表
create table tmp.column_row( col1 string, col2 string, col3 string)row format delimited fields terminated by ','stored as textfile;
2. 载入数据
load data local inpath '/tmp/column_row.txt' into table tmp.column_row;
3. 处理
select col1,col2,concat_ws(',',collect_set(col3)) from tmp.column_rowgroup by col1,col2;
结果是:
a b 2 ,3 ,1 c d 6,4 ,5