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.
Crée un tableau unique à partir d’un tableau de tableaux. Si une structure de tableaux imbriqués est plus profonde que deux niveaux, un seul niveau d’imbrication est supprimé.
Syntaxe
from pyspark.sql import functions as sf
sf.flatten(col)
Paramètres
| Paramètre | Type | Descriptif |
|---|---|---|
col |
pyspark.sql.Column ou str |
Nom de la colonne ou de l’expression à aplatir. |
Retours
pyspark.sql.Column: nouvelle colonne qui contient le tableau aplatit.
Examples
Exemple 1 : aplatir un tableau imbriqué simple
from pyspark.sql import functions as sf
df = spark.createDataFrame([([[1, 2, 3], [4, 5], [6]],)], ['data'])
df.select(sf.flatten(df.data)).show()
+------------------+
| flatten(data)|
+------------------+
|[1, 2, 3, 4, 5, 6]|
+------------------+
Exemple 2 : aplatir un tableau avec des valeurs Null
from pyspark.sql import functions as sf
df = spark.createDataFrame([([None, [4, 5]],)], ['data'])
df.select(sf.flatten(df.data)).show()
+-------------+
|flatten(data)|
+-------------+
| NULL|
+-------------+
Exemple 3 : aplatir un tableau avec plus de deux niveaux d’imbrication
from pyspark.sql import functions as sf
df = spark.createDataFrame([([[[1, 2], [3, 4]], [[5, 6], [7, 8]]],)], ['data'])
df.select(sf.flatten(df.data)).show(truncate=False)
+--------------------------------+
|flatten(data) |
+--------------------------------+
|[[1, 2], [3, 4], [5, 6], [7, 8]]|
+--------------------------------+
Exemple 4 : aplatir un tableau avec des types mixtes
from pyspark.sql import functions as sf
df = spark.createDataFrame([([['a', 'b', 'c'], [1, 2, 3]],)], ['data'])
df.select(sf.flatten(df.data)).show()
+------------------+
| flatten(data)|
+------------------+
|[a, b, c, 1, 2, 3]|
+------------------+