Skip to content

make_ym_interval(years, months)

Описание

Функция make_ym_interval() создает интервал из указанного количества лет и месяцев.

Параметры

  • years: int - количество лет
  • months: int - количество месяцев

Возвращаемое значение

Column - интервал из лет и месяцев

Пример использования

from pyspark.sql.functions import make_ym_interval, current_date, col
from pyspark.sql import SparkSession

# Создаем SparkSession
spark = SparkSession.builder.appName("make_ym_interval_example").getOrCreate()

# Создаем DataFrame
data = [
    (1, 2),
    (0, 6),
    (2, 0)
]
df = spark.createDataFrame(data, ["years", "months"])

# Создаем интервалы
df = df.withColumn("interval", 
    make_ym_interval(col("years"), col("months")))
df = df.withColumn("current_date", current_date())
df = df.withColumn("future_date", 
    col("current_date") + col("interval"))
df.show(truncate=False)

# Результат:
# +-----+------+----------+----------+------------+
# |years|months|interval  |current_date|future_date |
# +-----+------+----------+----------+------------+
# |1    |2     |1-2       |2023-12-20|2025-02-20 |
# |0    |6     |0-6       |2023-12-20|2024-06-20 |
# |2    |0     |2-0       |2023-12-20|2025-12-20 |
# +-----+------+----------+----------+------------+

Примечания

  • Все параметры должны быть целыми числами
  • Отрицательные значения поддерживаются
  • Полезно для:
  • Создания интервалов из лет и месяцев
  • Вычисления будущих дат
  • Планирования долгосрочных событий
  • Связанные функции:
  • make_interval() - создание интервала
  • add_months() - добавление месяцев
  • date_add() - добавление дней