collect_set

Bir sütundaki değerleri bir kümeye toplayarak yinelenenleri ortadan kaldırır ve bu nesne kümesini döndürür. Toplanan sonuçların sırası satırların sırasına bağlı olduğundan, bu işlev belirlenemez ve herhangi bir karıştırma işlemi sonrasında belirleyici olmayabilir.

Sözdizimi

from pyspark.sql import functions as sf

sf.collect_set(col)

Parametreler

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

İade

pyspark.sql.Column: Toplanan değerler kümesini temsil eden yeni bir Sütun nesnesi, yinelenenler dışlandı.

Ö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_set('value')).alias('sorted_set')).show()
+----------+
|sorted_set|
+----------+
|    [1, 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_set('age'), asc=False).alias('sorted_set')).show()
+----------+
|sorted_set|
+----------+
|    [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_set('id')).alias('sorted_set'))
df.orderBy(sf.desc("name")).show()
+----+----------+
|name|sorted_set|
+----+----------+
|John|    [1, 2]|
| Ana|       [3]|
+----+----------+