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

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

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

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

  1. Name doj
  2. kevin 08/15/2013
  3. George 06/21/2014
  4. df.printSchema()
  5. -- Name (String)
  6. -- dob (String)

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

nvbavucw

nvbavucw1#

使用 to_date() 功能。

  1. df.show()
  2. # +------+----------+
  3. # | Name| doj|
  4. # +------+----------+
  5. # | Kevin|08/15/2013|
  6. # |George|06/21/2014|
  7. # +------+----------+
  8. from pyspark.sql.functions import *
  9. df.withColumn("doj",to_date(col("doj"),'MM/dd/yyyy')).show()
  10. # +------+----------+
  11. # | Name| doj|
  12. # +------+----------+
  13. # | Kevin|2013-08-15|
  14. # |George|2014-06-21|
  15. # +------+----------+
  16. df.withColumn("doj",to_date(col("doj"),'MM/dd/yyyy')).printSchema()
  17. # root
  18. # |-- Name: string (nullable = true)
  19. # |-- doj: date (nullable = true)
展开查看全部
ecfsfe2w

ecfsfe2w2#

  1. def dateconv(x):
  2. if x == None:
  3. x = 'null'
  4. return x
  5. else:
  6. return x.strftime('%Y-%M-%D')
  7. dateconv(doj)

类似于python,我做了这个

相关问题