Skip to content

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() - количество уникальных значений