HIve之行转列,列转行操作

行转列
将类似如下数据转为,特征值,标记数据
表名为test
3列c1,c2,c3数据如下
a,b,1
a,b,2
a,b,3
c,d,4
c,d,5
d,f 6
多行转换为一列
select c1,c2,concat_ws(’,’,collect_set(c3)) from test group by c1,c2

结果如下

a b 1,2,3
c d 4,5
d f 6

列转行
将类似如下数据转为,特征值,标记数据
表名为test
3列c1,c2,c3数据如下
a b 1,2,3
c d 4,5
d f 6
多列转换为一行
select col1, col2, col5 from test a lateral view explode(split(col3,’,’)) b AS col5

结果

a,b,1
a,b,2
a,b,3
c,d,4
c,d,5
d,f 6

你可能感兴趣的:(Hive)