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成为一行

相关推荐
兔子宇航员03012 天前
HIVE SQL 中 NULL 值在 JOIN 和 GROUP BY 中的致命陷阱与解决方案
hive·hadoop·sql
Irene19913 天前
Oracle(字符集分为服务端和客户端) 和 Hive(依赖 MySQL(或 PostgreSQL)存储元数据)字符集编码格式查询,中文乱码处理
hive·sql·oracle
无关86883 天前
StarRocks 存算分离 + Spark + Hive Metastore + MinIO 数据湖搭建全流程
大数据·hive·spark
小欣加油4 天前
Hive综合应用案例——用户学历查询
数据仓库·hive·hadoop
yumgpkpm5 天前
Hadoop(CDH6、CDP7)在Qwen3.7大模型训练中的作用,(含部署、运行操作步骤)
大数据·hive·hadoop·分布式·zookeeper·spark·kafka
juniperhan7 天前
Flink 系列第25篇:Flink SQL 集成 Hive 实践:流批一体下的实时数仓利器
大数据·数据仓库·hive·分布式·sql·flink
r-t-H8 天前
从零开始搭建CDH-第十二章
linux·hive·spark·centos·hbase
王小王-1238 天前
基于Hadoop的服装电商数据分析系统【Hdfs、flume、HIve、sqoop、MySQL、echarts】
hive·hadoop·hdfs·服装电商分析·服装大数据
青春万岁!!8 天前
hiveSQL脚本性能优化-减少表扫描
大数据·hive·sql
阿坤带你走近大数据10 天前
HiveSQL常见性能调优策略与经验
hive·sql·调优