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