我正在使用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()