make_dt_interval(days, hours, minutes, seconds)
Описание
Функция make_dt_interval() создает интервал даты и времени из указанных компонентов.
Параметры
days: int - количество днейhours: int - количество часовminutes: int - количество минутseconds: int - количество секунд
Возвращаемое значение
Column - интервал даты и времени
Пример использования
from pyspark.sql.functions import make_dt_interval, current_timestamp, col
from pyspark.sql import SparkSession
# Создаем SparkSession
spark = SparkSession.builder.appName("make_dt_interval_example").getOrCreate()
# Создаем DataFrame
data = [
    (1, 2, 30, 45),
    (0, 12, 0, 0),
    (7, 0, 0, 0)
]
df = spark.createDataFrame(data, ["days", "hours", "minutes", "seconds"])
# Создаем интервалы
df = df.withColumn("interval", 
    make_dt_interval(col("days"), col("hours"), col("minutes"), col("seconds")))
df = df.withColumn("current_time", current_timestamp())
df = df.withColumn("future_time", 
    col("current_time") + col("interval"))
df.show(truncate=False)
# Результат:
# +----+-----+-------+-------+-------------------+-------------------+-------------------+
# |days|hours|minutes|seconds|interval           |current_time       |future_time        |
# +----+-----+-------+-------+-------------------+-------------------+-------------------+
# |1   |2    |30     |45     |1 days 2:30:45     |2023-12-20 15:30:45|2023-12-21 18:01:30|
# |0   |12   |0      |0      |12:00:00           |2023-12-20 15:30:45|2023-12-21 03:30:45|
# |7   |0    |0      |0      |7 days             |2023-12-20 15:30:45|2023-12-27 15:30:45|
# +----+-----+-------+-------+-------------------+-------------------+-------------------+
 Примечания
- Все параметры должны быть целыми числами
 - Отрицательные значения поддерживаются
 - Полезно для:
 - Создания временных интервалов
 - Вычисления будущих дат
 - Планирования событий
 - Связанные функции:
 make_interval()- создание интервалаdate_add()- добавление днейtimestampadd()- добавление к метке времени