posexplode_outertabellvärdesgeneratorfunktion (Databricks SQL)

Returnerar rader genom att ta bort kapsling av matrisen med numrering av positioner med hjälp OUTER av semantik.

Syntax

posexplode_outer(expr)

Argument

  • expr: Ett MATRIS- eller MAP-uttryck.

Returer

En uppsättning rader som består av de andra uttrycken i urvalslistan, positionen för elementen i matrisen eller kartan samt elementen i matrisen eller nycklar och värden för kartan.

Om expr är NULL, en enskild rad med NULL:er för matrisen eller mappningsvärden.

Kolumnerna som skapas av posexplode_outer en matris namnges pos och col kan som standard vara alias. Du kan också alias dem med hjälp av ett alias tuppeln, till exempel AS (myPos, myValue).

Kolumnerna för kartor kallas possom standard , keyoch value. Du kan också alias dem med hjälp av ett alias tuppeln, till exempel AS (myPos, myKey, myValue).

Du kan bara placera posexplode_outeri urvalslistan eller i en LATERAL VIEW. När du placerar funktionen i urvalslistan får det inte finnas någon annan generatorfunktion i samma urvalslista.

Exempel

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