Изменить формат отображения даты и времени в PySpark - PullRequest
0 голосов
/ 06 ноября 2018

У меня есть DataFrame, где изначально у меня была строка с датами. Я преобразовал его в правильную метку времени с функцией to_timestamp. schema DataFrame показывает, что это timestamp.

Q: Как отформатировать столбец 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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...