Pyspark -Convert String to TimeStamp - Получение пустых значений - PullRequest
0 голосов
/ 05 мая 2019

У меня следующий столбец в виде строки на фрейме данных df:

date|
+----------------+
|4/23/2019 23:59|
|05/06/2019 23:59|
|4/16/2019 19:00

Я пытаюсь преобразовать это в метку времени, но получаю только значения NULL.

Мое утверждение:

from pyspark.sql.functions import col, unix_timestamp
df.withColumn('date',unix_timestamp(df['date'], "MM/dd/yyyy hh:mm").cast("timestamp"))

Почему я получаю только нулевые значения? Это потому, что формат Месяца (так как я добавляю 0 к 05)?

Спасибо!

1 Ответ

0 голосов
/ 05 мая 2019

Шаблон для 24-часового формата: HH, hh для утра / мин. https://docs.oracle.com/javase/tutorial/i18n/format/simpleDateFormat.html

df \
    .withColumn('converted_date', psf.to_timestamp('date', format='MM/dd/yyyy HH:mm')) \
    .show()
        +----------------+-------------------+
        |            date|     converted_date|
        +----------------+-------------------+
        | 4/23/2019 23:59|2019-04-23 23:59:00|
        |05/06/2019 23:59|2019-05-06 23:59:00|
        | 4/16/2019 19:00|2019-04-16 19:00:00|
        +----------------+-------------------+

Независимо от того, есть ли ведущий 0 не имеет значения

...