Skip to content

try_add()

Описание

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

Параметры

  • col1: Column - первое слагаемое
  • col2: Column - второе слагаемое

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

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

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

from pyspark.sql import SparkSession
from pyspark.sql.functions import try_add, col, lit

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

# Создаем DataFrame с числами
data = [
    (1, 2),
    (2147483647, 1),  # Переполнение для Int
    (None, 5),
    (10, None)
]
df = spark.createDataFrame(data, ["num1", "num2"])

# Безопасно складываем числа
result = df.select(
    "num1",
    "num2",
    try_add(col("num1"), col("num2")).alias("sum")
).show()

# Результат:
# +----------+----+-----+
# |      num1|num2|  sum|
# +----------+----+-----+
# |         1|   2|    3|
# |2147483647|   1| NULL|
# |      NULL|   5| NULL|
# |        10|NULL| NULL|
# +----------+----+-----+

Примечания

  • Функция безопасно обрабатывает переполнение
  • Возвращает NULL, если хотя бы один из аргументов NULL
  • Для обычного сложения используйте оператор + или функцию add()
  • Для других безопасных операций используйте try_subtract(), try_multiply(), try_divide()