在配置单元中将多个列合并为单个列

6ss1mwsb  于 2021-06-28  发布在  Hive
关注(0)|答案(2)|浏览(380)

我有一个表如下所示。

Id   v1  v2  v3
 A   01  03  23
 B   11  21  05
 C   02  10  24
 D   22  14  23

这里第一列有id,它与三列相关。所以我必须把这三列合并成一列,并且有相关的id。
例如。

id  value
A    01
A    03
A    23
B    11
B    21
B    05
.    ..
.    ..

所以我必须在 hive 里做这个,所以请告诉我。

li9yvcax

li9yvcax1#

select id, v1
from table
union all
select id, v2
from table
union all
select id, v3
from table
icnyk63a

icnyk63a2#

insert into table result_table select Id, v1 as value from orig_table;
insert into table result_table select Id, v2 as value from orig_table;
insert into table result_table select Id, v3 as value from orig_table;
select Id,value from result_table;

或者

select Id, value 
       from orig_table LATERAL VIEW explode(array(v1,v2,v3)) orig_table_alias AS value;

相关问题