欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

一道 Hive题

程序员文章站 2022-03-09 16:09:37
...

某个学习群发出的一道SQL题,标记下,常用的方法,但是偶尔会短路
题目如下:
一道 Hive题
建表语句:

--表tab1,由于这张表不能用,分开,这里特意用了\t
create table tab1(
Tags string
)
row format delimited 
fields terminated by '\t';

--表tab2
create table tab2(
id string,
lab string
)
row format delimited 
fields terminated by ',';

大写的解

select 
concat_ws(',',COLLECT_set(t1.etags)) as tags,
concat_ws(',',COLLECT_set(t2.lab)) as lab
from
(select 
t.rn rn,tt1.etags etags
from
(select row_number()over() rn,tags from tab1) t
LATERAL VIEW explode(split(t.tags,',')) tt1 as etags)t1
inner join tab2 t2
on t1.etags =t2.id
group by t1.rn;

展示:

一道 Hive题

注:我试图把explode放select那,报错了
以下是报错信息

一道 Hive题

相关标签: hive