posexplode tabellvärdesgeneratorfunktion

Gäller för:check markerad ja Databricks SQL-kontroll markerad som ja Databricks Runtime

Returnerar rader genom att ta bort kapsling av matrisen med numrering av positioner.

Syntax

posexplode(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 NULLskapas inga rader.

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

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

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

Exempel

> SELECT posexplode(array(10, 20)) AS (r, elem), 'Spark';
 0  10 Spark
 1  20 Spark
> SELECT posexplode(map(1, 'a', 2, 'b')) AS (r, num, val), 'Spark';
 0  1   a   Spark
 1  2   b   Spark