我是新来的。请帮助我下面的问题。

我在 hive 中有下表,其中一列具有|作为分度计。

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查询结束。你们可以通过简单的方式帮助我吗?

谢谢!

最佳答案

使用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

关于hadoop - 合并配置单元中的列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56544449/

10-16 02:04