Pyspark DD-MMM-YYYY (формат строки) с отметкой времени - PullRequest
0 голосов
/ 04 марта 2020

Здравствуйте, я новичок в Pyspark, у меня есть строковая переменная, которая содержит формат даты DD-MMM-YYYY, и я хочу преобразовать ее в метку времени?

24-MAY-2019 - Формат строки к отметке времени

1 Ответ

0 голосов
/ 04 марта 2020

Попробуйте с to_timestamp(preferred) (or) from_unixtime and unix_timestamp функциями:

Example:

from pyspark.sql.functions import *
from pyspark.sql.types import *
df.selectExpr("to_timestamp(dt,'dd-MMM-yyyy') as tt").show()
+-------------------+
|                 tt|
+-------------------+
|2019-05-24 00:00:00|
+-------------------+

df1.withColumn("ts",to_timestamp(col("dt"),'dd-MMM-yyyy')).show()
+-----------+-------------------+
|         dt|                 ts|
+-----------+-------------------+
|24-MAY-2019|2019-05-24 00:00:00|
+-----------+-------------------+

#using from_unixtime and unix_timestamp
df1.withColumn("ts",from_unixtime(unix_timestamp(col("dt"),'dd-MMM-yyyy'),'yyyy-MM-dd HH:mm:ss.SSS').cast("timestamp")).show(10,False)
+-----------+-----------------------+
|dt         |ts                     |
+-----------+-----------------------+
|24-MAY-2019|2019-05-24 00:00:00.000|
+-----------+-----------------------+

#using unix_timestamp and casting to timestamp
df1.withColumn("ts",unix_timestamp(col("dt"),'dd-MMM-yyyy').cast("timestamp")).show()
#+-----------+-------------------+
#|         dt|                 ts|
#+-----------+-------------------+
#|24-MAY-2019|2019-05-24 00:00:00|
#+-----------+-------------------+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...