to_date(col, format=None)
Описание
Функция to_date()
преобразует строку в дату, используя указанный формат.
Параметры
col
: Column - столбец со строками, содержащими датыformat
: String (опционально) - формат даты (по умолчанию 'yyyy-MM-dd')
Возвращаемое значение
Date - преобразованная дата
Пример использования
from pyspark.sql.functions import to_date
from pyspark.sql import SparkSession
# Создаем SparkSession
spark = SparkSession.builder.appName("to_date_example").getOrCreate()
# Создаем DataFrame со строками дат
data = [
("2023-01-15",),
("15/01/2023",),
("2023.01.15",)
]
df = spark.createDataFrame(data, ["date_str"])
# Преобразуем строки в даты с разными форматами
result = df.select(
"date_str",
to_date("date_str").alias("default_format"),
to_date("date_str", "dd/MM/yyyy").alias("custom_format1"),
to_date("date_str", "yyyy.MM.dd").alias("custom_format2")
).show(truncate=False)
# Результат:
# +-----------+--------------+--------------+--------------+
# |date_str |default_format|custom_format1|custom_format2|
# +-----------+--------------+--------------+--------------+
# |2023-01-15 |2023-01-15 |2023-01-15 |2023-01-15 |
# |15/01/2023 |null |2023-01-15 |null |
# |2023.01.15 |null |null |2023-01-15 |
# +-----------+--------------+--------------+--------------+
Примечания
- NULL значения возвращают NULL
- Если формат не указан, используется формат по умолчанию 'yyyy-MM-dd'
- Если строка не соответствует указанному формату, возвращается NULL
- Для работы с датами также используйте:
to_timestamp()
для преобразования в временную меткуdate_format()
для форматирования датыyear()
для извлечения годаmonth()
для извлечения месяцаday()
для извлечения дня