Skip to content

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|
# +---------+

Примечания

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