描述
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 explodeSELECT id, valFROM VALUES (1, array(10,20)), (2, array(30)) AS t(id, arr)LATERAL VIEW explode(arr) AS val