Поделиться через


try_to_time

Преобразует столбец в TimeType с помощью дополнительно указанного формата. Укажите форматы в соответствии с шаблоном datetime. По умолчанию он следует правилам приведения к TimeType, если формат опущен. Эквивалентно col.cast("time"). Функция всегда возвращает значение NULL для недопустимых входных данных.

Синтаксис

import pyspark.sql.functions as sf

sf.try_to_time(str=<str>)

# With format
sf.try_to_time(str=<str>, format=<format>)

Параметры

Параметр Тип Description
str pyspark.sql.Column или str Строка для синтаксического анализа времени.
format pyspark.sql.Column или str Необязательно. Шаблон формата времени для выполнения.

Возвраты

pyspark.sql.Column: значение времени в качестве pyspark.sql.types.TimeType типа.

Примеры

Пример 1. Преобразование строки в время.

import pyspark.sql.functions as sf
df = spark.createDataFrame([("10:30:00",)], ["str"])
df.select(sf.try_to_time(df.str).alias("time")).show()
+--------+
|    time|
+--------+
|10:30:00|
+--------+

Пример 2. Преобразование строки в время с форматом.

import pyspark.sql.functions as sf
df = spark.createDataFrame([("10:30:00", "HH:mm:ss")], ["str", "format"])
df.select(sf.try_to_time(df.str, df.format).alias("time")).show()
+--------+
|    time|
+--------+
|10:30:00|
+--------+

Пример 3. Сбой преобразования приводит к значению NULL.

import pyspark.sql.functions as sf
df = spark.createDataFrame([("malformed",)], ["str"])
df.select(sf.try_to_time(df.str).alias("time")).show()
+----+
|time|
+----+
|NULL|
+----+