配置单元查询以获取预期的输出

时间:2018-08-31 12:31:53

标签: hive

我是蜂巢新手。我有建立查询的要求。我的表格有3列(ENO,ENAME,LOCATION)

ENO, ENAME, LOCATION
001, XYZ, HYD
002, ABC, MU

我需要如下输出。

001, XYZ, H
001, XYZ, Y
001, XYZ, D
002, ABC, M
002, ABC, U 

这是正在寻找任何有想法的人的输出。

谢谢, 兰吉斯

2 个答案:

答案 0 :(得分:0)

在第3列中拆分字符串,并使用explode将列数组值转换为行。

select * from
(
   select 
     ENO, 
     ENAME,
     lateral view explode(split(LOCATION,'')) AS LOCATION
   from
     table_name
 )
 where LOCATION != '';

答案 1 :(得分:0)

尝试结合使用explode命令和split来达到上述效果。

查询:

SELECT ENO,ENAME,SPLIT_LOC FROM <TABLE NAME> LATERAL VIEW explode(split(LOCATION,'')) EXPLOCATION AS SPLIT_LOC

''分割LOCATION将按字符分割数据。

希望这会有所帮助:)