posexplode_outer generatorfunctie voor tabelwaarde

Retourneert rijen door de nesting van de matrix op te maken met het nummeren van posities met behulp OUTER van semantiek.

Syntaxis

posexplode_outer(expr)

Argumenten

  • expr: een MATRIX- of MAP-expressie.

Retouren

Een set rijen die bestaat uit de andere expressies in de selectielijst, de positie van de elementen in de matrix of kaart, en de elementen van de matrix, of sleutels en waarden van de kaart.

Als expr NULL is, is één rij met NULL's voor de matrix- of kaartwaarden.

De kolommen die door van een matrix worden geproduceerd, hebben standaard de naam posexplode_outer en , maar kunnen een alias pos col hebben. U kunt ze ook een alias geven met behulp van een alias-tuple, zoals AS (myPos, myValue) .

De kolommen voor kaarten worden standaard pos , key en value genoemd. U kunt ze ook een alias geven met behulp van een alias-tuple, zoals AS (myPos, myKey, myValue) .

U kunt alleen posexplode_outer in de lijst selecteren of in een LATERAL VIEW plaatsen. Wanneer u de functie in de lijst selecteren plaatst, mag er geen andere generatorfunctie in dezelfde selectielijst staan.

Voorbeelden

> 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