Skip to content

dayofmonth(col)

Описание

Функция dayofmonth() извлекает день месяца из даты или временной метки.

Параметры

  • col: Column - столбец с датой или временной меткой

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

Column - день месяца (число от 1 до 31)

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

from pyspark.sql.functions import dayofmonth, to_date, lit
from pyspark.sql import SparkSession

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

# Создаем DataFrame с датами
data = [
    ("2023-01-15",),
    ("2023-02-28",),
    ("2023-12-31",)
]
df = spark.createDataFrame(data, ["date_str"])

# Преобразуем строки в даты и извлекаем день месяца
df = df.withColumn("date", to_date("date_str")) \
       .withColumn("day", dayofmonth("date"))
df.show(truncate=False)

# Результат:
# +----------+----------+---+
# |date_str  |date      |day|
# +----------+----------+---+
# |2023-01-15|2023-01-15|15 |
# |2023-02-28|2023-02-28|28 |
# |2023-12-31|2023-12-31|31 |
# +----------+----------+---+

Примечания

  • Возвращает NULL, если входное значение NULL
  • Возвращает число от 1 до 31
  • Эквивалентна функции day()
  • Для извлечения других компонентов даты используйте:
  • year() для года
  • month() для месяца
  • dayofweek() для дня недели
  • dayofyear() для дня года
  • Полезно для:
  • Анализа данных по дням месяца
  • Фильтрации по определенным дням
  • Группировки данных по дням месяца