explodetabellvärdesgeneratorfunktion (Databricks SQL)

Returnerar rader genom att ta bort kapslingen expr.

Syntax

explode(expr)

Argument

  • expr: Ett MATRIS- eller MAP-uttryck.

Returer

En uppsättning rader som består av de andra uttrycken i urvalslistan och antingen elementen i matrisen eller nycklarna och värdena för kartan. Om expr är NULL skapas inga rader.

explode kan bara placeras 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.

Kolumnen som genereras vid explosion av en matris namnges col som standard, men kan aliaseras. Kolumnerna för en karta anropas key som standard och value. De kan också aliaseras med hjälp av en aliastuppeln, till exempel AS (myKey, myValue).

Exempel

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