我有一个包含4列的表格,其中一列(项目)的类型为ARRAY,其他类型为字符串。
ID | items | name | loc
_________________________________________________________________
id1 | ["item1","item2","item3","item4","item5"] | Mike | CT
id2 | ["item3","item7","item4","item9","item8"] | Chris| MN
.
.
在这里,我想要像
ID | items | name | loc
______________________________________________________
id1 | item1 | Mike | CT
id1 | item2 | Mike | CT
id1 | item3 | Mike | CT
id1 | item4 | Mike | CT
id1 | item5 | Mike | CT
id2 | item3 | Chris | MN
id2 | item7 | Chris | MN
id2 | item4 | Chris | MN
id2 | item9 | Chris | MN
id2 | item8 | Chris | MN
我不是Hive SQL专家,请帮助我。
尝试这个:
SELECT ID,itemsName,name,loc
FROM Table
LATERAL VIEW explode(items) itemTable AS itemsName;
在explode(items)中,项目是您的存储表列,而Table是您的存储表。
嗨Kishore,谢谢您的答复。我们可以对多个数组类型的列做同样的事情吗?像ID | 项目| item_Name | 名称| loc ____________________________________________________________________ id1 | [“ item1”,“ item2”,“ item3”,“ item4”,“ item5”] | [“ Ruler”,“ Cap”,“ Pen”,“ brush”,“ Eraser”] | 迈克| CT ID2 | [“ item3”,“ item7”,“ item4”,“ item9”,“ item8”] | [“笔”,“铅笔”,“画笔”,“”,“计算器”] | 克里斯| MN
我没有收到您的问题,请提出另一个问题并正确定义问题。