date_sub()
Описание
Функция date_sub() вычитает указанное количество дней из даты.
Параметры
date: Column - дата в формате DateTypedays: Integer - количество дней для вычитания (может быть отрицательным для добавления)
Возвращаемое значение
Date - новая дата после вычитания дней
Пример использования
from pyspark.sql import SparkSession
from pyspark.sql.functions import date_sub, current_date
# Создаем SparkSession
spark = SparkSession.builder.appName("date_sub_example").getOrCreate()
# Создаем DataFrame
data = [
    (1,),
    (2,),
    (3,)
]
df = spark.createDataFrame(data, ["id"])
# Вычитаем дни из текущей даты
result = df.select(
    "id",
    current_date().alias("current_date"),
    date_sub(current_date(), 7).alias("date_minus_7_days"),
    date_sub(current_date(), -7).alias("date_plus_7_days")
).show()
# Результат:
# +---+------------+----------------+----------------+
# | id|current_date|date_minus_7_days|date_plus_7_days|
# +---+------------+----------------+----------------+
# |  1|  2024-01-01|      2023-12-25|      2024-01-08|
# |  2|  2024-01-01|      2023-12-25|      2024-01-08|
# |  3|  2024-01-01|      2023-12-25|      2024-01-08|
# +---+------------+----------------+----------------+
 Примечания
- Функция работает только с датами в формате DateType
 - Для добавления дней используйте отрицательное значение параметра 
days - Для работы с месяцами используйте 
add_months() - Для вычисления разницы между датами используйте 
datediff() - Для форматирования даты используйте 
date_format() - Для извлечения компонентов даты используйте 
year(),month(),day()