Skip to content

try_sum()

Описание

Функция try_sum() безопасно вычисляет сумму значений в столбце. Если происходит переполнение или другие ошибки, возвращает NULL вместо исключения.

Параметры

  • column: Column - столбец с числовыми значениями

Возвращаемое значение

Column - сумма значений или NULL в случае ошибки

Пример использования

from pyspark.sql import SparkSession
from pyspark.sql.functions import try_sum, col

# Создаем SparkSession
spark = SparkSession.builder.appName("try_sum_example").getOrCreate()

# Создаем DataFrame с числами
data = [
    (1,),
    (2,),
    (3,),
    (None,),
    (2147483647,)  # Большое число для теста переполнения
]
df = spark.createDataFrame(data, ["number"])

# Безопасно вычисляем сумму
result = df.select(
    try_sum(col("number")).alias("sum")
).show()

# Результат:
# +----------+
# |       sum|
# +----------+
# |         6|
# +----------+

Примечания

  • Функция безопасно обрабатывает переполнение
  • NULL значения игнорируются при вычислении суммы
  • Для обычного вычисления суммы используйте функцию sum()
  • Для других безопасных операций используйте try_avg(), try_add()