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

相关推荐
凌辰揽月3 小时前
Servlet学习
hive·学习·servlet
weixin_3077791314 小时前
Hive集群之间迁移的Linux Shell脚本
大数据·linux·hive·bash·迁移学习
王小王-12319 小时前
基于Hadoop的公共自行车数据分布式存储和计算平台的设计与实现
大数据·hive·hadoop·分布式·hadoop公共自行车·共享单车大数据分析·hadoop共享单车
桂成林1 天前
Hive UDF 开发实战:MD5 哈希函数实现
hive·hadoop·哈希算法
王小王-1232 天前
基于Hadoop的餐饮大数据分析系统的设计与实现
hive·hadoop·flask·sqoop·pyecharts·hadoop餐饮大数据分析·hadoop美食数据分析
張萠飛12 天前
hive集群优化和治理常见的问题答案
数据仓库·hive·hadoop
fpcc14 天前
c++26新功能—hive容器
c++·hive
liuze40816 天前
在VMware虚拟机集群中,完成Hive的安装部署
数据仓库·hive·hadoop
雷神乐乐16 天前
Hive优化详细讲解
数据仓库·hive·hadoop
Edingbrugh.南空16 天前
Hudi 与 Hive 集成
数据仓库·hive·hadoop