Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Retourne un DataFrame contenant une nouvelle ligne pour chaque élément du tableau ou de la carte donné. Utilise le nom col de colonne par défaut pour les éléments du tableau et keyvalue pour les éléments de la carte, sauf indication contraire.
Syntaxe
spark.tvf.explode(collection)
Paramètres
| Paramètre | Type | Descriptif |
|---|---|---|
collection |
pyspark.sql.Column |
Colonne cible sur laquelle travailler. |
Retours
pyspark.sql.DataFrame: DataFrame avec une nouvelle ligne pour chaque élément.
Examples
Exemple 1 : explosion d’une colonne de tableau
import pyspark.sql.functions as sf
spark.tvf.explode(sf.array(sf.lit(1), sf.lit(2), sf.lit(3))).show()
+---+
|col|
+---+
| 1|
| 2|
| 3|
+---+
Exemple 2 : Exploding a map column
import pyspark.sql.functions as sf
spark.tvf.explode(
sf.create_map(sf.lit("a"), sf.lit("b"), sf.lit("c"), sf.lit("d"))
).show()
+---+-----+
|key|value|
+---+-----+
| a| b|
| c| d|
+---+-----+
Exemple 3 : Exploding an array of struct column
import pyspark.sql.functions as sf
spark.tvf.explode(sf.array(
sf.named_struct(sf.lit("a"), sf.lit(1), sf.lit("b"), sf.lit(2)),
sf.named_struct(sf.lit("a"), sf.lit(3), sf.lit("b"), sf.lit(4))
)).select("col.*").show()
+---+---+
| a| b|
+---+---+
| 1| 2|
| 3| 4|
+---+---+
Exemple 4 : Explosion d’une colonne de tableau vide
import pyspark.sql.functions as sf
spark.tvf.explode(sf.array()).show()
+---+
|col|
+---+
+---+
Exemple 5 : Exploding an empty map column
import pyspark.sql.functions as sf
spark.tvf.explode(sf.create_map()).show()
+---+-----+
|key|value|
+---+-----+
+---+-----+