TableValuedFunction.explode_outer
Renvoie un DataFrame contenant une nouvelle ligne pour chaque élément avec position dans le tableau ou la carte donné. Contrairement à l’explosion, si le tableau/la carte est nul ou vide, un résultat nul est produit. Utilise le nom de colonne par default col pour les éléments du tableau et key et value pour les éléments de la carte, sauf indication contraire.
Syntaxe
Python
spark.tvf.explode_outer(collection)
parameter
parameter | Type | Description |
|---|---|---|
|
| Colonne cible sur laquelle travailler. |
Renvoie
pyspark.sql.DataFrame: Un DataFrame avec une nouvelle ligne pour chaque élément, ou nul si la collection est vide ou nulle.
Exemples
Python
import pyspark.sql.functions as sf
spark.tvf.explode_outer(sf.array(sf.lit("foo"), sf.lit("bar"))).show()
Output
+---+
|col|
+---+
|foo|
|bar|
+---+
Python
import pyspark.sql.functions as sf
spark.tvf.explode_outer(sf.array()).show()
Output
+----+
| col|
+----+
|NULL|
+----+
Python
import pyspark.sql.functions as sf
spark.tvf.explode_outer(sf.create_map(sf.lit("x"), sf.lit(1.0))).show()
Output
+---+-----+
|key|value|
+---+-----+
| x| 1.0|
+---+-----+
Python
import pyspark.sql.functions as sf
spark.tvf.explode_outer(sf.create_map()).show()
Output
+----+-----+
| key|value|
+----+-----+
|NULL| NULL|
+----+-----+