hivesql - 合并和拆分

阅读 49

2022-04-07

表结构

建表

create table t7
(
    a string,
    b string
);
insert into t7
values ('2014', 'A'),
       ('2014', 'B'),
       ('2015', 'B'),
       ('2015', 'D');

1)合并

思路

concat_ws()

SQL

-- 合并
select a,
       concat_ws(',', collect_set(b))
from t7
group by a;

输出结果

2)拆分

思路

炸裂函数一列转多行

SQL

-- 拆分
select a,
       new_b2
from (select a,
             concat_ws(',', collect_set(b)) as new_b
      from t7
      group by a) tmp lateral view explode(split(new_b, ',')) tmp2 as new_b2
order by a, new_b2;

输出结果

精彩评论(0)

0 0 举报