创建hive表
drop table if exists testUDF;
create table testUDF(
id string,
field1 string,
field2 string,
name string,
rsrp string,
address string,
comm1 string,
comm2 string,
comm3 string
)
row format delimited fields terminated by ',';
准备测试数据
1000,01,01,jack1,1331,shanghai1,123,456,789
1000,01,01,jack2,1332,shanghai2,123,456,789
1000,01,01,jack3,1333,shanghai3,001,002,003
1000,01,01,jack4,-1334,shanghai4,004,005,006
1001,01,01,wade1,1221,beijing1,123,456,789
1001,01,01,wade2,1222,beijing2,123,456,789
1001,01,01,wade3,-1223,beijing3,123,456,789
1001,01,01,wade4,-1224,beijing4,123,456,789
导入数据并验证
hadoop fs -put testUdf.dat /user/hive/warehouse/testudf
select * from testudf;
# 执行列转行,collect_set函数返回的是String数组
SELECT max(id), concat_ws(',',collect_set(concat_ws(',',name,rsrp