sum_distinct(col)
Описание
Функция sum_distinct() вычисляет сумму уникальных значений в группе. Это агрегатная функция, которая должна использоваться с groupBy().
Параметры
col: Column - числовой столбец для вычисления суммы уникальных значений
Возвращаемое значение
Тип значения из указанного столбца - сумма уникальных значений в группе
Пример использования
from pyspark.sql.functions import sum_distinct
from pyspark.sql import SparkSession
# Создаем SparkSession
spark = SparkSession.builder.appName("sum_distinct_example").getOrCreate()
# Создаем DataFrame
data = [
    ("A", 1),
    ("A", 1),
    ("A", 2),
    ("A", 2),
    ("B", 3),
    ("B", 3),
    ("B", 4),
    ("B", 4)
]
df = spark.createDataFrame(data, ["group", "value"])
# Вычисляем сумму уникальных значений для каждой группы
result = df.groupBy("group").agg(
    sum_distinct("value").alias("unique_sum")
).show()
# Результат:
# +-----+-----------+
# |group|unique_sum |
# +-----+-----------+
# |A    |3          |
# |B    |7          |
# +-----+-----------+
 Примечания
- NULL значения игнорируются при вычислении суммы
 - Для вычисления суммы всех значений (включая дубликаты) используйте 
sum() - Для подсчета количества уникальных значений используйте 
count_distinct() - Для вычисления среднего значения используйте 
avg()