Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Mängdfunktion: returnerar sammanfogningen av indatavärden som inte är null, avgränsade med avgränsare. Ett alias för listagg.
Syntax
from pyspark.sql import functions as sf
sf.string_agg(col, delimiter=None)
Parameterar
| Parameter | Typ | Description |
|---|---|---|
col |
pyspark.sql.Column eller str |
Målkolumn att beräkna på. |
delimiter |
pyspark.sql.Column, str eller byte, valfritt |
Avgränsare för att separera värdena. Standardvärdet är Ingen. |
Retur
pyspark.sql.Column: kolumnen för beräknade resultat.
Examples
Exempel 1: Använda funktionen string_agg
from pyspark.sql import functions as sf
df = spark.createDataFrame([('a',), ('b',), (None,), ('c',)], ['strings'])
df.select(sf.string_agg('strings')).show()
+-------------------------+
|string_agg(strings, NULL)|
+-------------------------+
| abc|
+-------------------------+
Exempel 2: Använda funktionen string_agg med en avgränsare
from pyspark.sql import functions as sf
df = spark.createDataFrame([('a',), ('b',), (None,), ('c',)], ['strings'])
df.select(sf.string_agg('strings', ', ')).show()
+-----------------------+
|string_agg(strings, , )|
+-----------------------+
| a, b, c|
+-----------------------+
Exempel 3: Använda funktionen string_agg med en binär kolumn och avgränsare
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()
+------------------------+
|string_agg(bytes, X'42')|
+------------------------+
| [01 42 02 42 03]|
+------------------------+