dateadd(unit, value, date)
Описание
Функция dateadd()
добавляет указанный интервал к дате.
Параметры
unit
: str - единица измерения интервала ('year', 'month', 'day', 'hour', 'minute', 'second')value
: int - количество единиц для добавленияdate
: Column - исходная дата
Возвращаемое значение
Column - новая дата после добавления интервала
Пример использования
from pyspark.sql.functions import dateadd, to_date, lit
from pyspark.sql import SparkSession
# Создаем SparkSession
spark = SparkSession.builder.appName("dateadd_example").getOrCreate()
# Создаем DataFrame с датами
data = [
("2023-01-01",),
("2023-02-15",),
("2023-12-31",)
]
df = spark.createDataFrame(data, ["date"])
# Преобразуем строки в даты
df = df.withColumn("date", to_date("date"))
# Добавляем различные интервалы
df = df.withColumn("next_month", dateadd("month", 1, "date"))
df = df.withColumn("next_year", dateadd("year", 1, "date"))
df = df.withColumn("next_week", dateadd("day", 7, "date"))
df.show(truncate=False)
# Результат:
# +----------+----------+----------+----------+
# |date |next_month|next_year |next_week |
# +----------+----------+----------+----------+
# |2023-01-01|2023-02-01|2024-01-01|2023-01-08|
# |2023-02-15|2023-03-15|2024-02-15|2023-02-22|
# |2023-12-31|2024-01-31|2024-12-31|2024-01-07|
# +----------+----------+----------+----------+
Примечания
- Возвращает NULL, если дата NULL
- Поддерживает отрицательные значения для вычитания интервалов
- Полезно для:
- Вычисления будущих дат
- Определения сроков
- Планирования событий
- Связанные функции:
date_sub()
- вычитание интервалаadd_months()
- добавление месяцевnext_day()
- следующий день недели