Pyspark将日期字符串(格式-YYYYMMDDHHMMSS)转换为纪元时间戳

时间:2019-05-22 19:32:32

标签: python-2.7 apache-spark pyspark

我正在使用pyspark(Apache Spark 2.2,Python 2),并尝试将格式为YYYYMMDDHHMMSS的String转换为timestamp列。 但是,我得到的是空值

代码->

from pyspark.sql.functions import unix_timestamp
from pyspark.sql.functions import from_unixtime

df = spark.createDataFrame([('20190130223000',),('20190325223000',)],['date_str'])
df.show()

# Column 'dt' is coming as null
df1 = df.select(to_timestamp(col('date_str'), 'YYYYMMDDHHMMSS').alias('dt'))

列“ dt”为空 我该如何解决这个问题?

但是,当我使用以下格式(yyyy-MM-dd HH:mm:ss)时,效果很好:

df_1 = spark.createDataFrame([('1997-02-28 10:30:00',)], ['t'])
df_1.show()

df_2 = df_1.select(to_timestamp(df_1.t, 'yyyy-MM-dd HH:mm:ss').alias('dt'))
df_2.show()

0 个答案:

没有答案