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

相关推荐
Gl�ria4 天前
Hive SQL 执行卡住完整排查 & 处理
hive·hadoop·sql
网络豆6 天前
Apache Hive 鸿蒙 PC 适配全记录:以 Qt 客户端打通 HiveQL、监控与元数据访问
hive·apache·harmonyos
fastjson_7 天前
Hive3.1.3 安装使用
hive
Gl�ria11 天前
Hadoop MapReduce/Hive 数据倾斜完整排查
hive·hadoop·mapreduce
Gl�ria11 天前
Hadoop Hive 和 YARN 的关系
数据仓库·hive·hadoop
fastjson_15 天前
Hive 自定义函数
数据仓库·hive·hadoop
Gent_倪15 天前
MySQL 与 Hive 语法异同点详解
数据库·hive·mysql
邀星月为媒18 天前
从零打造一个属于自己的 AI Agent:Core Hive Agent 开源项目解析
人工智能·hive·开源
BI专家之路18 天前
安装linux/hadoop/jdk/hive
linux·hive·hadoop
fastjson_20 天前
Hive 基础函数
数据仓库·hive·hadoop