在pyspark中推断时,我有一个字符串数据类型的日期列:
Mon Oct 17 15:57:48 EST 2022
如何将字符串数据类型转换为日期时间?
7nbnzgx91#
您可以使用所需的datetime formatters-'E MMM dd HH:mm:ss z yyyy'。生成的时间戳将使用UTC,因此,您将看到它将向源ts添加5个小时。
'E MMM dd HH:mm:ss z yyyy'
spark.conf.set('spark.sql.legacy.timeParserPolicy', 'LEGACY') spark.sparkContext.parallelize([('Mon Oct 17 15:57:48 EST 2022', )]).toDF(['dt_str']). \ withColumn('dt', func.to_timestamp('dt_str', 'E MMM dd HH:mm:ss z yyyy')). \ show(truncate=False) # +----------------------------+-------------------+ # |dt_str |dt | # +----------------------------+-------------------+ # |Mon Oct 17 15:57:48 EST 2022|2022-10-17 20:57:48| # +----------------------------+-------------------+
1条答案
按热度按时间7nbnzgx91#
您可以使用所需的datetime formatters-
'E MMM dd HH:mm:ss z yyyy'
。生成的时间戳将使用UTC,因此,您将看到它将向源ts添加5个小时。