add_months

add_months(start, months)

add_months - Возвращает дату, с доавлением указанного количества месяцев. Если месяцы - заданы как отрицательное значение, количество месяцев будет вычтено из начальной даты.

Параметры
start: Column or str. дата к которой необходимо прибавить количество месяцев
months: Column or str or int - количество месяцев
Возвращает
Column новый столбец с обновленными датами

add_months example


from pyspark.sql import SparkSession
from pyspark.sql.functions import col, add_months

# Создание сессии Spark
spark = SparkSession.builder.appName("add_months_example").getOrCreate()

# Пример данных со столбцом "date"
data = [("2023-01-01",), ("2023-05-15",), ("2023-08-20",)]
df = spark.createDataFrame(data, ["date"])

# Добавление 3 месяцев к столбцу "date" и создание нового столбца "updated_date"
df_with_updated_date = df.withColumn("updated_date", add_months(col("date"), 3))

# Отображение результата
df_with_updated_date.show()

+----------+------------+
|      date|updated_date|
+----------+------------+
|2023-01-01|  2023-04-01|
|2023-05-15|  2023-08-15|
|2023-08-20|  2023-11-20|
+----------+------------+
#пример с отрицтальным количеством месяцев

from pyspark.sql import SparkSession
from pyspark.sql.functions import col, add_months

# Создание сессии Spark
spark = SparkSession.builder.appName("add_months_example").getOrCreate()

# Пример данных со столбцом "date"
data = [("2023-01-01",), ("2023-05-15",), ("2023-08-20",)]
df = spark.createDataFrame(data, ["date"])

# Отнимаем 3 месяца от "date" и создаем новый столбец "updated_date"
df_with_updated_date = df.withColumn("updated_date", add_months(col("date"), -3))

# Отображение результата
df_with_updated_date.show()

+----------+------------+
|      date|updated_date|
+----------+------------+
|2023-01-01|  2022-10-01|
|2023-05-15|  2023-02-15|
|2023-08-20|  2023-05-20|
+----------+------------+

pyspark add_months

Добавлено в версии1.5.0.
Обновлено в версии1.5.0.