posexplode_outer fonction de générateur table

Retourne des lignes en annulant l’imbrication du tableau avec une numérotation des positions à l’aide de la OUTER sémantique.

Syntaxe

posexplode_outer(expr)

Arguments

  • expr: Une expression de tableau ou de mappage.

Retours

Ensemble de lignes composées d’autres expressions dans la liste de sélection, de la position des éléments dans le tableau ou du mappage, et des éléments du tableau, ou des clés et valeurs de la classe Map.

Si expr est NULL , une seule ligne avec des valeurs NULL pour les valeurs de tableau ou de mappage.

Les colonnes produites par posexplode_outer un tableau sont nommées pos et col par défaut, mais elles peuvent être associées à un alias. Vous pouvez également les créer un alias à l’aide d’un tuple d’alias tel que AS (myPos, myValue) .

Par défaut, les colonnes pour les mappages sont appelées pos , key et value . Vous pouvez également les créer un alias à l’aide d’un tuple d’alias tel que AS (myPos, myKey, myValue) .

Vous ne pouvez placer posexplode_outer que dans la liste de sélection ou dans LATERAL VIEW . Lors du placement de la fonction dans la liste de sélection, il ne doit y avoir aucune autre fonction de génération dans la même liste de sélection.

Exemples

> 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