合并配置单元中的列

时间:2019-06-11 13:06:05

标签: hadoop hive hiveql

我是蜂巢新手。请帮助我解决以下问题。

我在蜂巢中有下表,其中一列的数据为|作为分度计。

C1
1|2|3|4|5|6
7||9|10|11|12

以下是基于定界符的预期输出,我想将其拆分为列。

C1    C2   C3  C4  C5  C6
1     2    3   4   5   6
7          9   10  11  12

我尝试过使用locate和substr函数,并以复杂的sql查询结束。你们可以通过简单的方式帮助我吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

使用split返回一个array值,可以从中选择各个元素作为列。

select split(c1,'\\|')[0] as c1
      ,split(c1,'\\|')[1] as c2
      ,split(c1,'\\|')[2] as c3
      ,split(c1,'\\|')[3] as c4
      ,split(c1,'\\|')[4] as c5
      ,split(c1,'\\|')[5] as c6
from tbl