目录
行转列
数据准备:
create table stu_score(
stu_id string,
english bigint,
math bigint,
science bigint
);
insert into stu_score values
('甲',100,90,95),
('乙',95,90,100),
('丙',65,99,88);
行转列: 主要用到 Leteral view explode
select
stu_id
,subject,score
from stu_score
LATERAL VIEW explode (
map(
'english',english,
'math',math,
'science',science
) ) tmp
as subject,score;
列转行
数据准备: