如何在行中增加数组值!使用Hive SQL [英] how to expend array values in rows!! using Hive SQL

查看:155
本文介绍了如何在行中增加数组值!使用Hive SQL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个包含4列的表,其中一列(项目)类型是ARRAY,另一列是字符串。

  ID |物品|名称| loc 
_________________________________________________________________

id1 | [item1,item2,item3,item4,item5] |迈克| CT
id2 | [item3,item7,item4,item9,item8] |克里斯| MN


在这里,我想要非标准化的输出,比如

  ID |物品|名称| loc 
______________________________________________________
id1 | item1 |迈克| CT
id1 | item2 |迈克| CT
id1 | item3 |迈克| CT
id1 | item4 |迈克| CT
id1 | item5 |迈克| CT
id2 | item3 |克里斯| MN
id2 | item7 |克里斯| MN
id2 | item4 |克里斯| MN
id2 | item9 |克里斯| MN
id2 | item8 |克里斯| MN

我不是Hive SQL专家,请帮我解决这个问题。

解决方案

试试这个:

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

在爆炸(项目)中,项目是您存储的表格列,表格是您的存储表格。 / p>

I have a table with 4 columns, one column (items) type is ARRAY and other are string.

ID   |    items                                  | name  |  loc  
_________________________________________________________________

id1  | ["item1","item2","item3","item4","item5"] | Mike | CT
id2  | ["item3","item7","item4","item9","item8"] | Chris| MN
.
.

Here, I want unnormalized output like

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

I am not a Hive SQL expert, Please help me out of this.

解决方案

Try this:

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

in explode(items) , there items is your stored table column and Table is your Stored table.

这篇关于如何在行中增加数组值!使用Hive SQL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆