desc_nulls_first(col)
Описание
Функция desc_nulls_first()
используется для сортировки данных в порядке убывания, при этом NULL значения помещаются в начало результата.
Параметры
col
: Column - столбец для сортировки
Возвращаемое значение
Column - столбец с примененной сортировкой по убыванию с NULL значениями в начале
Пример использования
from pyspark.sql.functions import desc_nulls_first
# Создаем DataFrame
df = spark.createDataFrame([
(1, "John", 25),
(2, "Jane", 30),
(3, "Bob", 35),
(4, "Alice", 28),
(5, None, 40),
(6, None, 22)
], ["id", "name", "age"])
# Сортируем по имени в порядке убывания с NULL значениями в начале
df.orderBy(desc_nulls_first("name")).show()
# Результат:
# +---+-----+---+
# | id| name|age|
# +---+-----+---+
# | 5| null| 40|
# | 6| null| 22|
# | 1| John| 25|
# | 2| Jane| 30|
# | 3| Bob| 35|
# | 4|Alice| 28|
# +---+-----+---+
# Сортируем по возрасту в порядке убывания с NULL значениями в начале
df.orderBy(desc_nulls_first("age")).show()
# Результат:
# +---+-----+---+
# | id| name|age|
# +---+-----+---+
# | 5| null| 40|
# | 6| null| 22|
# | 3| Bob| 35|
# | 2| Jane| 30|
# | 4|Alice| 28|
# | 1| John| 25|
# +---+-----+---+
Примечания
- NULL значения сортируются в начале (NULLS FIRST)
- Для сортировки NULL значений в конце используйте
desc_nulls_last()
- Для сортировки по возрастанию используйте
asc_nulls_first()
илиasc_nulls_last()
- Функция часто используется в комбинации с
orderBy()
илиsort()
- Можно использовать для сортировки по нескольким столбцам