explode_outer表值生成器函数 (Databricks SQL)

使用 outer 语义通过取消嵌套 expr 返回行。

语法

explode_outer(expr)

参数

  • expr:一个 ARRAY 或 MAP 表达式。

返回

包含 select 列表中的其他表达式,还包含数组的元素或映射的键和值的一组行。 如果 expr 为 NULL,则为数组值或映射值生成包含 NULL 的单个行。

explode_outer 只能放置在 select 列表或横向视图中。 在 select 列表中放置该函数时,同一 select 列表中不能有任何其他生成器函数。

默认情况下,由数组的 explode 生成的列命名为 col,但可以使用别名。 映射的列默认名为 keyvalue。 它们还可使用别名元组(例如 AS (myKey, myValue))进行别名化。

示例

> SELECT explode_outer(array(10, 20)) AS elem, 'Spark';
 10 Spark
 20 Spark
> SELECT explode_outer(map(1, 'a', 2, 'b')) AS (num, val), 'Spark';
 1   a   Spark
 2   b   Spark
> SELECT explode_outer(cast(NULL AS array<int>)), 'Spark';
 NULL   Spark