posexplode_outerTabellenwertgeneratorfunktion (Databricks SQL)

Gibt Zeilen zurück, indem die Schachtelung des Arrays mit Nummerierung von Positionen mithilfe von OUTER Semantik aufheben wird.

Syntax

posexplode_outer(expr)

Argumente

  • expr: Ein ARRAY- oder MAP-Ausdruck.

Gibt zurück

Eine Gruppe von Zeilen, die aus den anderen Ausdrücken in der Auswahlliste, der Position der Elemente im Array oder der Zuordnung und den Elementen des Arrays oder Schlüsseln und Werten der Zuordnung bestehen.

Wenn exprNULL ist, eine einzelne Zeile mit NULLs für die Array- oder Zuordnungswerte.

Die spalten, die von einem Array erzeugt posexplode_outer werden, werden pos standardmäßig und col benannt, können jedoch mit einem Alias versehen werden. Sie können sie auch mithilfe eines Aliastupels wie alias AS (myPos, myValue) verwenden.

Die Spalten für Zuordnungen heißen standardmäßig pos , key und value . Sie können sie auch mithilfe eines Aliastupels wie alias AS (myPos, myKey, myValue) verwenden.

Sie können posexplode_outer nur in der Auswahlliste oder in einer LATERAL VIEW platzieren. Wenn Sie die Funktion in der Auswahlliste platzieren, darf sich keine andere Generatorfunktion in derselben Auswahlliste befinden.

Beispiele

> 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