explode_outergeneratorfunktion med tabellvärde (Databricks SQL)

Returnerar rader genom att ta bort kapsling expr med hjälp av yttre semantik.

Syntax

explode_outer(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 en enskild rad med NULL:er för matrisen eller mappningsvärden.

explode_outer 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 genom explosion av en matris namnges col som standard, men kan vara alias. Kolumnerna för en karta heter key som standard och value. De kan också vara alias med hjälp av ett alias tuppeln, till exempel AS (myKey, myValue).

Exempel

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