首页 > 解决方案 > 如何仅在pyspark中将带有日期(字符串)的列转换为日期

问题描述

我有一个带有“created_at”列的数据框,其中包含如下所示的日期:

Mon Jan 27 17:16:46 +0000 2020

我想将此列日期转换为:

2020-01-27

我怎么能在 pyspark 中做到这一点?

标签: sqldataframedatepysparkdatabricks

解决方案


有关日期时间字符的更多详细信息,请参阅Jave SimpleDate 格式

df.show(truncate=False) #sample dataframe

#+------------------------------+
#|created_at                    |
#+------------------------------+
#|Mon Jan 27 17:16:46 +0000 2020|
#+------------------------------+

from pyspark.sql import functions as F

df.withColumn("created_at", F.to_date("created_at","EEE MMM dd HH:mm:ss +SSSS yyyy")).show()

#+----------+
#|created_at|
#+----------+
#|2020-01-27|
#+----------+

推荐阅读