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()
- добавление к метке времени