timestampadd(unit, interval, timestamp)
Описание
Функция timestampadd() добавляет указанный интервал времени к временной метке.
Параметры
unit: Column - единица измерения времени (YEAR, MONTH, DAY, HOUR, MINUTE, SECOND)interval: Column - количество единиц для добавленияtimestamp: Column - временная метка, к которой добавляется интервал
Возвращаемое значение
Column - новая временная метка после добавления интервала
Пример использования
from pyspark.sql.functions import timestampadd, lit, to_timestamp
from pyspark.sql import SparkSession
# Создаем SparkSession
spark = SparkSession.builder.appName("timestampadd_example").getOrCreate()
# Создаем DataFrame с временными метками
data = [
    ("2023-01-01 00:00:00",),
    ("2023-12-31 23:59:59",)
]
df = spark.createDataFrame(data, ["timestamp"])
# Добавляем различные интервалы
result = df.withColumn(
    "next_year",
    timestampadd(lit("YEAR"), lit(1), to_timestamp("timestamp"))
).withColumn(
    "next_month",
    timestampadd(lit("MONTH"), lit(1), to_timestamp("timestamp"))
).withColumn(
    "next_day",
    timestampadd(lit("DAY"), lit(1), to_timestamp("timestamp"))
)
result.show(truncate=False)
# Результат:
# +-------------------+-------------------+-------------------+-------------------+
# |timestamp          |next_year          |next_month         |next_day           |
# +-------------------+-------------------+-------------------+-------------------+
# |2023-01-01 00:00:00|2024-01-01 00:00:00|2023-02-01 00:00:00|2023-01-02 00:00:00|
# |2023-12-31 23:59:59|2024-12-31 23:59:59|2024-01-31 23:59:59|2024-01-01 23:59:59|
# +-------------------+-------------------+-------------------+-------------------+
 Примечания
- Возвращает NULL, если любой из аргументов NULL
 - Поддерживает различные единицы измерения времени
 - Полезно для:
 - Добавления временных интервалов
 - Вычисления будущих дат
 - Создания временных рядов
 - Связанные функции:
 timestampdiff()- разница между временными меткамиdate_add()- добавление дней к дате