Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Shromažďuje hodnoty ze sloupce do seznamu, udržuje duplicity a vrací tento seznam objektů. Funkce není deterministická, protože pořadí shromážděných výsledků závisí na pořadí řádků, které se po operacích náhodného prohazování pravděpodobně stanou ne deterministickými.
Syntaxe
from pyspark.sql import functions as sf
sf.collect_list(col)
Parametry
| Parameter | Typ | Description |
|---|---|---|
col |
pyspark.sql.Column nebo název sloupce |
Cílový sloupec, na kterém se funkce vypočítá. |
Návraty
pyspark.sql.Column: Nový objekt Column představující seznam shromážděných hodnot s duplicitními hodnotami.
Examples
Příklad 1: Shromážděte hodnoty z datového rámce a seřaďte výsledek vzestupně.
from pyspark.sql import functions as sf
df = spark.createDataFrame([(1,), (2,), (2,)], ('value',))
df.select(sf.sort_array(sf.collect_list('value')).alias('sorted_list')).show()
+-----------+
|sorted_list|
+-----------+
| [1, 2, 2]|
+-----------+
Příklad 2: Shromažďování hodnot z datového rámce a řazení výsledku v sestupném pořadí
from pyspark.sql import functions as sf
df = spark.createDataFrame([(2,), (5,), (5,)], ('age',))
df.select(sf.sort_array(sf.collect_list('age'), asc=False).alias('sorted_list')).show()
+-----------+
|sorted_list|
+-----------+
| [5, 5, 2]|
+-----------+
Příklad 3: Shromažďování hodnot z datového rámce s více sloupci a seřazení výsledku
from pyspark.sql import functions as sf
df = spark.createDataFrame([(1, "John"), (2, "John"), (3, "Ana")], ("id", "name"))
df = df.groupBy("name").agg(sf.sort_array(sf.collect_list('id')).alias('sorted_list'))
df.orderBy(sf.desc("name")).show()
+----+-----------+
|name|sorted_list|
+----+-----------+
|John| [1, 2]|
| Ana| [3]|
+----+-----------+