如何在pyspark/python中将Date列从字符串转换为日期时间?

vdzxcuhz  于 2022-11-01  发布在  Spark
关注(0)|答案(1)|浏览(163)

在pyspark中推断时,我有一个字符串数据类型的日期列:

Mon Oct 17 15:57:48 EST 2022

如何将字符串数据类型转换为日期时间?

7nbnzgx9

7nbnzgx91#

您可以使用所需的datetime formatters-'E MMM dd HH:mm:ss z yyyy'。生成的时间戳将使用UTC,因此,您将看到它将向源ts添加5个小时。

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|

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

相关问题