简体   繁体   English

在Hive中将单行列拆分为多列

[英]Split single row columns into multiple columns in Hive

I have a Hive table like this 我有一个像这样的Hive桌子

ID1 Name1 ID2 Name2 ID3 Name3....
1   ABC   2   MNP   3   XYZ
11  LMP   12  PLL   13  UIP

This table may have any no. 该表可能没有任何编号。 of columns pair(ie ID and Name) 列对(即ID和名称)的对

I need to convert the above table into a new Hive table having only 2 columns ID and Name like below 我需要将上面的表转换为只有2列ID和Name的新Hive表,如下所示

ID  Name
1   ABC
2   MNP
3   XYZ
11  LMP
12  PLL
13  UIP

Please suggest how can I achieve this in Hive. 请提出如何在Hive中实现这一目标。

Thanks 谢谢

select  explode(map(*)) as (id,name)
from    mytable
;

+----+------+
| id | name |
+----+------+
|  1 | ABC  |
|  2 | MNP  |
|  3 | XYZ  |
| 11 | LMP  |
| 12 | PLL  |
| 13 | UIP  |
+----+------+

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM