Hive 行转列、列转行

在Hive中使用Hive sql实现表 数据的行转列、列转行:

原始数据:

Hive 行转列、列转行_第1张图片

行转列:

select ss.id,ss.name,s1  from test_sql ss
lateral view explode(split(ss.address,',')) aa as s1

Hive 行转列、列转行_第2张图片

 列转行:

select sss.id,sss.name,concat_ws(',',collect_set(sss.s1))   from 
(
select ss.id,ss.name,s1  from test_sql ss
lateral view explode(split(ss.address,',')) aa as s1
)sss group by sss.id,sss.name
order by sss.id

效果:

Hive 行转列、列转行_第3张图片

你可能感兴趣的:(大数据学习,Hive学习,Spark)