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

相关推荐
fastjson_4 小时前
Hive3.1.3 安装使用
hive
Gl�ria4 天前
Hadoop MapReduce/Hive 数据倾斜完整排查
hive·hadoop·mapreduce
Gl�ria4 天前
Hadoop Hive 和 YARN 的关系
数据仓库·hive·hadoop
fastjson_8 天前
Hive 自定义函数
数据仓库·hive·hadoop
Gent_倪8 天前
MySQL 与 Hive 语法异同点详解
数据库·hive·mysql
邀星月为媒11 天前
从零打造一个属于自己的 AI Agent:Core Hive Agent 开源项目解析
人工智能·hive·开源
BI专家之路11 天前
安装linux/hadoop/jdk/hive
linux·hive·hadoop
fastjson_13 天前
Hive 基础函数
数据仓库·hive·hadoop
邀星月为媒16 天前
正式迁移 Gitee:core-site-hive 与 core-hive-agent 后续更新只认这两个地址
hive·hadoop·gitee
fastjson_17 天前
Hive 复杂数据类型
数据仓库·hive·hadoop