在PySpark中更改日期时间戳的显示格式

时间:2018-11-06 09:53:27

标签: python date pyspark format

我有一个DataFrame,最初我有一个日期字符串。我使用to_timestamp函数将其转换为正确的时间戳。 DataFrame的schema表明它是timestamp

问::如何设置显示date列的格式,以MMM-YYYY格式显示日期,例如JAN-2015而不是2015-01-01 00:00:00

from pyspark.sql.functions import to_timestamp, date_format 
valuesCol = [('01JAN2015',),('01FEB2018',),('01APR2013',),('01DEC2016',)]
df = sqlContext.createDataFrame(valuesCol,['date'])
df = df.withColumn('date',to_timestamp('date','ddMMMyyyy'))
df.show()
df.printSchema()
+-------------------+
|               date|
+-------------------+
|2015-01-01 00:00:00|
|2018-02-01 00:00:00|
|2013-04-01 00:00:00|
|2016-12-01 00:00:00|
+-------------------+

root
 |-- date: timestamp (nullable = true)

我无法使用date_format()函数,因为结果数据类型为string

df=df.withColumn("date",date_format('date',"MMM-yyyy"))
df.show()
df.printSchema() 
+--------+
|    date|
+--------+
|Jan-2015|
|Feb-2018|
|Apr-2013|
|Dec-2016|
+--------+

root
 |-- date: string (nullable = true)

因此,简而言之,如何在将date的数据类型保持为timestamp的情况下更改其显示格式?

0 个答案:

没有答案