Hive 中的转置数组

Posted

技术标签:

【中文标题】Hive 中的转置数组【英文标题】:Transpose array in Hive 【发布时间】:2020-11-05 17:24:07 【问题描述】:

我有桌子

create table regs(
id string,
regs string)

数据示例

id   regs
1    23:7:97.27%, 77:1:0.56%, 09:1:0.48%
2    01:3:1.26%, 15:1:0.09%
3    26:1:0.17%

我怎样才能得到这个结果?

id   regs
1 23:7:97.27%
1 77:1:0.56%
1 09:1:0.48%
2 01:3:1.26% 
2 15:1:0.09%
3 26:1:0.17%

【问题讨论】:

【参考方案1】:

使用这种模式', *' 拆分 reg - 表示逗号 + 任意数量的空格,然后分解:

select r.id, e.reg
from regs r
     lateral view explode(split(r.regs, ', *')) e as reg

【讨论】:

以上是关于Hive 中的转置数组的主要内容,如果未能解决你的问题,请参考以下文章

C语言编程:N*N方阵的转置

数组的转置

数组的shape属性与矩阵转置的区别在哪里?

PostgreSQL中的转置表

c语言实现数组的转置

foreach遍历数组数组的转置与方阵的迹