try_avg()
Описание
Функция try_avg()
безопасно вычисляет среднее арифметическое значение. Если происходит переполнение или другие ошибки, возвращает NULL вместо исключения.
Параметры
column
: Column - столбец с числовыми значениями
Возвращаемое значение
Column - среднее арифметическое или NULL в случае ошибки
Пример использования
from pyspark.sql import SparkSession
from pyspark.sql.functions import try_avg, col
# Создаем SparkSession
spark = SparkSession.builder.appName("try_avg_example").getOrCreate()
# Создаем DataFrame с числами
data = [
(1,),
(2,),
(3,),
(None,),
(2147483647,) # Большое число для теста переполнения
]
df = spark.createDataFrame(data, ["number"])
# Безопасно вычисляем среднее
result = df.select(
try_avg(col("number")).alias("average")
).show()
# Результат:
# +---------+
# | average|
# +---------+
# | 2.0|
# +---------+