Aller au contenu principal

string_agg

Fonction d'agrégation : renvoie la concaténation de valeurs d'entrée non nulles, séparées par le délimiteur. Un alias de listagg.

Syntaxe​

Python
from pyspark.sql import functions as sf

sf.string_agg(col, delimiter=None)

parameter​

parameter

Type

Description

col

pyspark.sql.Column ou str

Colonne cible sur laquelle effectuer le calcul.

delimiter

pyspark.sql.Column, str ou octets, facultatif

Le délimiteur pour séparer les valeurs. La valeur par default est Aucun.

parameter

Type

Description

col

pyspark.sql.Column ou str

Colonne cible sur laquelle effectuer le calcul.

delimiter

pyspark.sql.Column, str ou octets, facultatif

Le délimiteur pour séparer les valeurs. La valeur par default est Aucun.

Renvoie​

pyspark.sql.Column: la colonne pour les résultats calculés.

Exemples​

Exemple 1 : Utilisation de la fonction string_agg

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([('a',), ('b',), (None,), ('c',)], ['strings'])
df.select(sf.string_agg('strings')).show()
Output
+-------------------------+
|string_agg(strings, NULL)|
+-------------------------+
| abc|
+-------------------------+

Exemple 2 : Utilisation de la fonction string_agg avec un délimiteur

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([('a',), ('b',), (None,), ('c',)], ['strings'])
df.select(sf.string_agg('strings', ', ')).show()
Output
+-----------------------+
|string_agg(strings, , )|
+-----------------------+
| a, b, c|
+-----------------------+

**Exemple 3** : Utilisation de la fonction string_agg avec une colonne binaire et un délimiteur

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([(b'\x01',), (b'\x02',), (None,), (b'\x03',)], ['bytes'])
df.select(sf.string_agg('bytes', b'\x42')).show()
Output
+------------------------+
|string_agg(bytes, X'42')|
+------------------------+
| [01 42 02 42 03]|
+------------------------+