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

时间:2017-05-17 07:50:57

标签: sql hadoop hive hiveql

我有一个像这样的Hive表

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

此表可能没有。列对(即ID和名称)

我需要将上面的表转换为一个新的Hive表,只有2列ID和名称如下

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

请建议我如何在Hive中实现这一目标。

由于

1 个答案:

答案 0 :(得分:2)

select  explode(map(*)) as (id,name)
from    mytable
;
+----+------+
| id | name |
+----+------+
|  1 | ABC  |
|  2 | MNP  |
|  3 | XYZ  |
| 11 | LMP  |
| 12 | PLL  |
| 13 | UIP  |
+----+------+