try_to_timestamp(col, format=None)
Описание
Функция try_to_timestamp()
преобразует строку в timestamp, возвращая NULL в случае ошибки преобразования.
Параметры
col
: Column - столбец со строкой для преобразованияformat
: String - формат даты и времени (опционально)
Возвращаемое значение
Timestamp - преобразованное значение даты и времени или NULL в случае ошибки
Пример использования
from pyspark.sql.functions import try_to_timestamp
from pyspark.sql import SparkSession
# Создаем SparkSession
spark = SparkSession.builder.appName("try_to_timestamp_example").getOrCreate()
# Создаем DataFrame
data = [
("2023-01-01 12:00:00"),
("2023-02-01 15:30:00"),
("invalid_date"),
("2023-03-01 18:45:00")
]
df = spark.createDataFrame(data, ["date_str"])
# Преобразуем строки в timestamp
result = df.select(
"date_str",
try_to_timestamp("date_str").alias("timestamp")
).show()
# Результат:
# +-------------------+-------------------+
# |date_str |timestamp |
# +-------------------+-------------------+
# |2023-01-01 12:00:00|2023-01-01 12:00:00|
# |2023-02-01 15:30:00|2023-02-01 15:30:00|
# |invalid_date |null |
# |2023-03-01 18:45:00|2023-03-01 18:45:00|
# +-------------------+-------------------+
Примечания
- В отличие от
to_timestamp()
, эта функция не вызывает ошибку при некорректном формате - Для преобразования с выбросом ошибки используйте
to_timestamp()
- Для преобразования в дату используйте
to_date()
- Для форматирования даты и времени используйте
date_format()