[Hive] lateral view explode

当在Hive中使用 LATERAL VIEW EXPLODE 时,

它用于将一个复杂类型(如数组或Map)的列展开成多行数据,

并将这些展开后的数据与其他列进行关联。


下面是一个简单的例子来解释 LATERAL VIEW EXPLODE 的用法:

假设有一个包含学生姓名和对应课程的表格 student_courses,其中的列 courses 是一个数组类型,表示学生所选修的课程。

复制代码
+---------+----------------------------+
| student |          courses           |
+---------+----------------------------+
|   Alice | [Math, Science, History]   |
|    Bob  | [English, Geography]       |
+---------+----------------------------+

现在我们想要将每个学生选修的课程展开成多行数据。可以使用 LATERAL VIEW EXPLODE 来实现这一点。

查询语句如下:

sql 复制代码
SELECT student, course
FROM student_courses
LATERAL VIEW EXPLODE(courses) exploded AS course;

结果将会是:

复制代码
+---------+---------+
| student |  course |
+---------+---------+
|   Alice |   Math  |
|   Alice | Science |
|   Alice | History |
|    Bob  | English |
|    Bob  |Geography|
+---------+---------+

通过 LATERAL VIEW EXPLODE,我们将每个学生的课程数组展开成了多行数据,并与原始表格的其他列保持关联。这样,我们可以更方便地处理每个学生的每门课程信息。

需要注意的是,在使用 LATERAL VIEW EXPLODE 时,

需要在表格名称后面使用别名(如上例中的 "exploded"),

以便将展开后的数据与其他列进行关联。

这样,我们可以在查询中引用新生成的列

相关推荐
2601_9620739716 小时前
大数据-258 离线数仓 - Griffin架构 配置安装 Livy 架构设计 解压配置 Hadoop Hive
大数据·hadoop·架构
fastjson_17 小时前
Hive 基础函数
数据仓库·hive·hadoop
kuroomi18 小时前
hadoop高可用架构
hadoop
APItesterCris2 天前
告别人工盯品:借助 OpenClaw 搭建商品自动监控与数据分析系统(完整实操)
大数据·数据库·数据仓库·自动化
千里码aicood2 天前
基于Hadoop的汽车销量分析与可视化
大数据·hadoop·分布式
AbnerWright2 天前
读书笔记-数据密集型应用系统设计
数据仓库
wxchyy3 天前
手把手教你入门云计算(二):这些技术改变了世界,你也能轻松掌握
hadoop·阿里云·docker·云原生·华为云·云计算·运维开发
BD_Marathon4 天前
Hadoop组成
大数据·hadoop·分布式
zgl_200537794 天前
源代码:跨数据库通用“字段级”数据血缘解析与图形化(2/3:标注信息的拆解、检验、保存)
大数据·数据库·数据仓库·sql·数据挖掘·etl·嵌入式实时数据库
邀星月为媒4 天前
正式迁移 Gitee:core-site-hive 与 core-hive-agent 后续更新只认这两个地址
hive·hadoop·gitee