Teilen über


TableValuedFunction.explode_outer

Gibt einen DataFrame zurück, der mit einer neuen Zeile für jedes Element und dessen Position im angegebenen Array oder der angegebenen Map versehen ist. Im Gegensatz zu explodieren, wenn das Array/die Zuordnung null oder leer ist, wird NULL erzeugt. Verwendet den Standardspaltennamen col für Elemente im Array und keyvalue für Elemente in der Zuordnung, sofern nicht anders angegeben.

Syntax

spark.tvf.explode_outer(collection)

Die Parameter

Parameter Typ Description
collection pyspark.sql.Column Zielspalte, an der gearbeitet werden soll.

Rückkehr

pyspark.sql.DataFrame: Ein DataFrame mit einer neuen Zeile für jedes Element oder null, wenn die Auflistung leer oder null ist.

Examples

import pyspark.sql.functions as sf
spark.tvf.explode_outer(sf.array(sf.lit("foo"), sf.lit("bar"))).show()
+---+
|col|
+---+
|foo|
|bar|
+---+
import pyspark.sql.functions as sf
spark.tvf.explode_outer(sf.array()).show()
+----+
| col|
+----+
|NULL|
+----+
import pyspark.sql.functions as sf
spark.tvf.explode_outer(sf.create_map(sf.lit("x"), sf.lit(1.0))).show()
+---+-----+
|key|value|
+---+-----+
|  x|  1.0|
+---+-----+
import pyspark.sql.functions as sf
spark.tvf.explode_outer(sf.create_map()).show()
+----+-----+
| key|value|
+----+-----+
|NULL| NULL|
+----+-----+