我有一张这样的Hive桌
ID1 Name1 ID2 Name2 ID3 Name3....1 ABC 2 MNP 3 XYZ11 LMP 12 PLL 13 UIP
ID1 Name1 ID2 Name2 ID3 Name3....
1 ABC 2 MNP 3 XYZ
11 LMP 12 PLL 13 UIP
此表可以有任意数量的列对(即id和name)我需要将上面的表转换成一个新的配置单元表,它只有两列id和name,如下所示
ID Name1 ABC2 MNP3 XYZ11 LMP12 PLL13 UIP
ID Name
1 ABC
2 MNP
3 XYZ
11 LMP
12 PLL
13 UIP
请建议我如何在Hive中实现这一点。谢谢
cuxqih211#
select explode(map(*)) as (id,name)from mytable;
select explode(map(*)) as (id,name)
from mytable
;
+----+------+| id | name |+----+------+| 1 | ABC || 2 | MNP || 3 | XYZ || 11 | LMP || 12 | PLL || 13 | UIP |+----+------+
+----+------+
| id | name |
| 1 | ABC |
| 2 | MNP |
| 3 | XYZ |
| 11 | LMP |
| 12 | PLL |
| 13 | UIP |
1条答案
按热度按时间cuxqih211#