sumDistinct(col)
Описание
Функция sumDistinct()
вычисляет сумму уникальных значений в столбце.
Параметры
col
: Column - числовой столбец
Возвращаемое значение
Column - сумма уникальных значений
Пример использования
from pyspark.sql.functions import sumDistinct, col
from pyspark.sql import SparkSession
# Создаем SparkSession
spark = SparkSession.builder.appName("sumDistinct_example").getOrCreate()
# Создаем DataFrame с повторяющимися значениями
data = [
(1,),
(2,),
(2,),
(3,),
(3,),
(3,)
]
df = spark.createDataFrame(data, ["value"])
# Вычисляем сумму уникальных значений
result = df.agg(sumDistinct("value").alias("sum_distinct"))
result.show(truncate=False)
# Результат:
# +------------+
# |sum_distinct|
# +------------+
# |6 |
# +------------+
Примечания
- Возвращает NULL, если все значения NULL
- Учитывает только уникальные значения
- Полезно для:
- Подсчета суммы без дубликатов
- Анализа уникальных значений
- Статистических расчетов
- Связанные функции:
sum()
- сумма всех значенийcountDistinct()
- количество уникальных значений