collect_list

Bir sütundaki değerleri bir listeye toplar, yinelenenleri korur ve bu nesne listesini döndürür. Toplanan sonuçların sırası satırların sırasına bağlı olduğundan işlev belirlenimci değildir ve bu da karıştırma işlemlerinden sonra belirlenimci olmayan bir duruma gelir.

Sözdizimi

from pyspark.sql import functions as sf

sf.collect_list(col)

Parametreler

Parametre Türü Description
col pyspark.sql.Column veya sütun adı İşlevin hesaplandığı hedef sütun.

İade

pyspark.sql.Column: Yinelenen değerlerin dahil olduğu, toplanan değerlerin listesini temsil eden yeni bir Column nesnesi.

Örnekler

Örnek 1: DataFrame'den değer toplama ve sonucu artan düzende sıralama

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

Örnek 2: DataFrame'den değer toplama ve sonucu azalan düzende sıralama

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

Örnek 3: Birden çok sütun içeren bir DataFrame'den değer toplama ve sonucu sıralama

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