Skip to content

coalesce(expr1, expr2, ...)

Описание

Функция coalesce() возвращает первое не-NULL значение из списка выражений.

Параметры

  • expr1, expr2, ...: Column - список выражений для проверки

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

Тип данных первого не-NULL выражения

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

from pyspark.sql.functions import coalesce, lit
from pyspark.sql import SparkSession

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

# Создаем DataFrame с NULL значениями
data = [
    (None, None, 1),
    (None, 2, None),
    (3, None, None)
]
df = spark.createDataFrame(data, ["col1", "col2", "col3"])

# Возвращаем первое не-NULL значение
result = df.select(
    coalesce("col1", "col2", "col3").alias("first_non_null")
).show()

# Результат:
# +--------------+
# |first_non_null|
# +--------------+
# |1            |
# |2            |
# |3            |
# +--------------+

Примечания

  • Возвращает NULL, если все выражения NULL
  • Все выражения должны быть совместимых типов
  • Для проверки на NULL используйте isnull()
  • Для замены NULL на значение по умолчанию используйте nvl()