在pyspark中将日期转换为所需格式

lsmepo6l  于 2021-05-27  发布在  Spark
关注(0)|答案(2)|浏览(449)

这个问题在这里已经有答案了

将pyspark字符串转换为日期格式(6个答案)
4个月前关门了。
我有如下Dataframe和使用PySpark2.4

Name    doj
kevin   08/15/2013
George  06/21/2014

df.printSchema()
 -- Name (String)
 -- dob (String)

我想将doj转换为yyyy-mm-dd格式,并确保我需要使用pyspark将doj转换为datetype而不是string。是否有任何特定的函数可用?我很感激你的回答

nvbavucw

nvbavucw1#

使用 to_date() 功能。

df.show()

# +------+----------+

# |  Name|       doj|

# +------+----------+

# | Kevin|08/15/2013|

# |George|06/21/2014|

# +------+----------+

from pyspark.sql.functions import *

df.withColumn("doj",to_date(col("doj"),'MM/dd/yyyy')).show()

# +------+----------+

# |  Name|       doj|

# +------+----------+

# | Kevin|2013-08-15|

# |George|2014-06-21|

# +------+----------+

df.withColumn("doj",to_date(col("doj"),'MM/dd/yyyy')).printSchema()

# root

# |-- Name: string (nullable = true)

# |-- doj: date (nullable = true)
ecfsfe2w

ecfsfe2w2#

def dateconv(x):
        if x == None:
            x = 'null'
            return x
        else:
            return x.strftime('%Y-%M-%D')
dateconv(doj)

类似于python,我做了这个

相关问题