温馨提示:本文翻译自stackoverflow.com,查看原文请点击:hadoop - how to expend array values in rows!! using Hive SQL
hadoop hive

hadoop - 如何在行中扩展数组值!

发布于 2020-04-09 23:43:04

我有一个包含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专家,请帮助我。

查看更多

提问者
user2416693
被浏览
99
50.8k 2016-01-05 19:38

尝试这个:

 SELECT ID,itemsName,name,loc
 FROM Table
 LATERAL VIEW explode(items) itemTable AS itemsName;

在explode(items)中,项目是您的存储表列,而Table是您的存储表。