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]|
+------------------------+