HiveSQL之lateral view

lateral view是hiveQL中的一个高级功能,用于和表生成函数一起,来处理嵌套数组和结构的数据,特别是在处理复杂的数据结构如JSON或数组内嵌套数组时特别有用。它允许用户在每一行上应用TGF(表生成函数),将生成的元素作为多行返回,或者多列返回。

原理

常规情况下,SQL查询是对行进行操作的,每行数据都是独立的,如果想对一行中某列数据进行拆分成多行或者多列,SQL中的单独查询是不允许的。lateral view解决了这个问题,它允许将TGF结果,"侧视"到原始数行旁边,实际上是将TGF的输出与原始行的其他列结合起来形成新的行集。

表生成函数(table-generating functions)TGF

explode

将数组或者映射转换为多行,对于数组,每个元素成为一行;对于映射每个键值对成为一行。

复制代码
SELECT id, number
FROM example_table
LATERAL VIEW explode(numbers) tbl AS number;

json_tuple

解析JSON格式的字符串,每个key成为一行

相关推荐
好学且牛逼的马12 小时前
从“配置地狱“到“云原生时代“:Spring Boot 1.x到4.x演进全记录与核心知识点详解
hive·spring boot·云原生
Timer_Cooker3 天前
Hive Sum(null)编译报错分析
数据仓库·hive·hadoop
AI_56786 天前
Hive SQL优化:分区表+分桶表提升查询效率
人工智能·hive·ai
旺仔Sec9 天前
手把手教你从零搭建 Hive 2.3.6 + MySQL 元数据存储(含视频教程)
hive·hadoop·mysql
人道领域9 天前
SSM框架从入门到入土(SpringMVC入门开发全流程解析)
数据仓库·hive·hadoop
Mr泓10 天前
数据仓库建设-(数仓分层篇)
大数据·数据仓库·hive
火龙谷10 天前
【hadoop】Hive数据仓库安装部署
数据仓库·hive·hadoop
lhxsir10 天前
HIVE表结构和注释
数据仓库·hive·hadoop
熹乐互动10 天前
亲测有效的酒吧互动点歌系统案例分享
hive
我要用代码向我喜欢的女孩表白11 天前
hive高阶,了解hive相关问题,面试
数据仓库·hive·hadoop