try_multiply()
Описание
Функция try_multiply() безопасно умножает два числа. Если происходит переполнение или другие ошибки, возвращает NULL вместо исключения.
Параметры
col1: Column - первый множительcol2: Column - второй множитель
Возвращаемое значение
Column - произведение чисел или NULL в случае ошибки
Пример использования
from pyspark.sql import SparkSession
from pyspark.sql.functions import try_multiply, col, lit
# Создаем SparkSession
spark = SparkSession.builder.appName("try_multiply_example").getOrCreate()
# Создаем DataFrame с числами
data = [
(2, 3),
(2147483647, 2), # Переполнение для Int
(None, 5),
(10, None),
(1.0e308, 2.0) # Переполнение для Double
]
df = spark.createDataFrame(data, ["num1", "num2"])
# Безопасно умножаем числа
result = df.select(
"num1",
"num2",
try_multiply(col("num1"), col("num2")).alias("product")
).show()
# Результат:
# +----------+----+--------+
# | num1|num2| product|
# +----------+----+--------+
# | 2| 3| 6|
# |2147483647| 2| NULL|
# | NULL| 5| NULL|
# | 10|NULL| NULL|
# | 1.0e+308| 2.0| NULL|
# +----------+----+--------+
Примечания
- Функция безопасно обрабатывает переполнение
- Возвращает NULL, если хотя бы один из аргументов NULL
- Для обычного умножения используйте оператор
*или функциюmultiply() - Для других безопасных операций используйте
try_add(),try_subtract(),try_divide()