TableValuedFunction.posexplode
Renvoie un DataFrame contenant une nouvelle ligne pour chaque élément avec position dans le tableau ou la carte donné. Utilise le nom de colonne default pos pour la position, et 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.posexplode(collection)
parameter
parameter | Type | Description |
|---|---|---|
|
| Colonne cible sur laquelle travailler. |
Renvoie
pyspark.sql.DataFrame: Un DataFrame avec une nouvelle ligne pour chaque élément ainsi que sa position.
Exemples
Python
import pyspark.sql.functions as sf
spark.tvf.posexplode(sf.array(sf.lit(1), sf.lit(2), sf.lit(3))).show()
Output
+---+---+
|pos|col|
+---+---+
| 0| 1|
| 1| 2|
| 2| 3|
+---+---+
Python
import pyspark.sql.functions as sf
spark.tvf.posexplode(sf.create_map(sf.lit("a"), sf.lit("b"))).show()
Output
+---+---+-----+
|pos|key|value|
+---+---+-----+
| 0| a| b|
+---+---+-----+