posexplode_outerFunción generadora con valores de tabla (Databricks SQL)

Devuelve filas mediante el anidamiento de la matriz con numeración de posiciones mediante OUTER semántica.

Sintaxis

posexplode_outer(expr)

Argumentos

  • expr: una expresión ARRAY o MAP.

Devoluciones

Un conjunto de filas compuesto por las demás expresiones de la lista de selección, la posición de los elementos de la matriz o el mapa, y los elementos de la matriz, o las claves y los valores del mapa.

Si expr es , una sola fila con valores NULL para los valores de NULL matriz o asignación.

Las columnas producidas por posexplode_outer de una matriz se denominan pos y de forma col predeterminada, pero se pueden crear alias. También puede crearles un alias mediante una tupla de alias como AS (myPos, myValue) .

Las columnas de los mapas se denominan de forma predeterminada pos , key y value . También puede crearles un alias mediante una tupla de alias como AS (myPos, myKey, myValue) .

Solo puede colocar posexplode_outer en la lista de selección o en LATERAL VIEW . Al colocar la función en la lista de selección, no debe haber ninguna otra función de generador en la misma lista de selección.

Ejemplos

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