【发布时间】:2021-12-10 13:53:49
【问题描述】:
我输入的数据如下:
Column1 Column2 Column3
Silver Bridge;#400;#Pool;#410;#Garden;#427;#Lawn;#591;#Shed;#1337 Aaron
Diamond Meadow;#492 Mike
Gold Gas;#360;#Electricity;#1991 Judy
我需要得到如下输出:
Column1 Column2 NewColumn Column3
Silver Bridge 400 Aaron
Silver Pool 410 Aaron
Silver Garden 427 Aaron
Silver Lawn 591 Aaron
Silver Shed 1337 Aaron
Diamond Meadow 492 Mike
Gold Gas 360 Judy
Gold Electricity 1991 Judy
注意:这里用于分隔数据的分隔符是';#'。尝试在第一次出现分隔符 (;#) 后创建一个新列,并在第二次出现后创建一行,它应该继续为数据单元格。
解决方案可以是 SQL 或 Python,但最好是 SQL。 我尝试了一些东西,但在输出中我能够以列或行分隔,但是在这里我们需要在列和行中交替分隔。我认为这可以通过运行循环来完成,但到目前为止没有任何效果。
【问题讨论】:
-
到目前为止你有什么尝试?
-
请不要发布文字图片!
-
这是我的第一个问题,我不知道如何添加表格
-
我在 HQL 中尝试了以下操作:“lateral view outer explode(split(seq,'\\|')) t1 as p”,但它只在列中分隔,我需要获取数字到下一个列,但下一行中的文本,如我所需的输出数据中所示
-
您不会将图片输入 Python 或 SQL。所以请以可读的格式发布数据,计算机和人类都可读。
标签: python sql sql-server database hiveql