LATERAL VIEW

最近更新时间:2026-05-20 14:11:22

我的收藏

描述

LATERAL VIEW 子句与生成器函数(如 EXPLODE)结合使用,生成包含一行或多行的虚拟表,常用于将数组或映射类型的数据展开为多行。

语法

LATERAL VIEW [ OUTER ] generator_function ( expression [, ...] ) [ table_alias ] AS column_alias [, ...]

参数

子句/关键字
说明
OUTER
若指定 OUTER,当输入数组/映射为空或 null 时返回 null
generator_function
指定生成器函数(如 EXPLODE, INLINE 等)
table_alias
生成器函数的表别名(可选)
column_alias
生成器函数输出的列别名,可在结果行中使用。若生成器函数输出多列,可指定多个别名

示例

-- LATERAL VIEW explode
SELECT id, val
FROM VALUES (1, array(10,20)), (2, array(30)) AS t(id, arr)
LATERAL VIEW explode(arr) AS val