posexplode_outertabellvärdesgeneratorfunktion (Databricks SQL)

Returnerar rader genom att ta bort kapsling av matrisen med numrering av positioner med hjälp av OUTER 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 på kartan.

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

Kolumnerna som skapas posexplode_outer av i en matris heter och kan som standard ha ett poscol alias. Du kan också ge dem alias med hjälp av en alias-tuppel, till exempel AS (myPos, myValue) .

Kolumnerna för kartor kallas som standard pos , key och value . Du kan också ge dem alias med hjälp av en alias-tuppel, till exempel AS (myPos, myKey, myValue) .

Du kan bara posexplode_outer placera i den valda listan 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 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