array_agg
Renvoie une liste d'objets avec des doublons.
Syntaxe
Python
from pyspark.sql import functions as sf
sf.array_agg(col)
parameter
parameter | Type | Description |
|---|---|---|
|
| Colonne cible sur laquelle effectuer le calcul. |
Renvoie
pyspark.sql.Column: liste d'objets avec des doublons.
Exemples
Exemple 1 : Utilisation de la fonction array_agg sur une colonne int.
Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([[1],[1],[2]], ["c"])
df.agg(sf.sort_array(sf.array_agg('c')).alias('sorted_list')).show()
Output
+-----------+
|sorted_list|
+-----------+
| [1, 1, 2]|
+-----------+
Exemple 2 : Utilisation de la fonction array_agg sur une colonne de chaîne
Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([["apple"],["apple"],["banana"]], ["c"])
df.agg(sf.sort_array(sf.array_agg('c')).alias('sorted_list')).show(truncate=False)
Output
+----------------------+
|sorted_list |
+----------------------+
|[apple, apple, banana]|
+----------------------+
Exemple 3 : Utilisation de la fonction array_agg sur une colonne avec des valeurs nulles.
Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([[1],[None],[2]], ["c"])
df.agg(sf.sort_array(sf.array_agg('c')).alias('sorted_list')).show()
Output
+-----------+
|sorted_list|
+-----------+
| [1, 2]|
+-----------+
Exemple 4 : Utilisation de la fonction array_agg sur une colonne avec différents types de données
Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([[1],["apple"],[2]], ["c"])
df.agg(sf.sort_array(sf.array_agg('c')).alias('sorted_list')).show()
Output
+-------------+
| sorted_list|
+-------------+
|[1, 2, apple]|
+-------------+