Маленькая хитрость, небольшое улучшение.

Предположим, у нас есть один набор данных с одним столбцом даты. Мы хотим знать диапазон дат — минимальную и максимальную дату всех записей.
Вот код для этого:
In [1]: import pyspark.sql.functions as F
In [2]: U.show_info(
...: df_final.select(
...: F.array_join(
...: F.array(
...: F.min("sale_date").alias("min_sale_date"),
...: F.max("sale_date").alias("max_sale_date"),
...: ),
...: delimiter=" > ",
...: ).alias("sale_date_range")
...: )
...: )
Data Total: 1
root
|-- sale_date_range: string (nullable = false)
-RECORD 0--------------------------------
sale_date_range| 2022-07-01 > 2023-07-20
- используйте функции min и max, чтобы получить минимальную и максимальную даты
- создайте столбец массив для включения обоих значений
- присоединиться к столбцу массива (функция array_join) с разделителем ‘›’
- выбрать из фрейма данных
- используйте псевдоним для переименования столбцов, созданных функциями
Таким образом, мы получаем интуитивно понятный вывод диапазона дат.
Рекомендации
