0
点赞
收藏
分享

微信扫一扫

hivesql - 合并和拆分

表结构

建表

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 条评论