首页 > 解决方案 > 在 PysSpark 中将字符串类型(2021 年 6 月 22 日下午 1:04)转换为“MMM d,yyyy hh:mm:ss a”类型的时间戳

问题描述

我是 Pyspark 的新手

我正在尝试使用下面的代码块将值为 Jun 22 2021 1:04PM 的字符串转换为时间戳,但它使值为 null,其中显示数据类型为时间戳

df = df.withColumn("date", F.from_unixtime(F.unix_timestamp("date","MMM d, yyyy hh:mm:ss a"),'yyyy-MM-dd').cast('timestamp'))

标签: pysparkapache-spark-sql

解决方案


date的格式是MMM d yyyy hh:mmaa

转换类似上述格式的字符串。像下面这样

from pyspark.sql import functions as f

df.withColumn("date_2", f.from_unixtime(f.unix_timestamp("date", 'MMM d yyyy hh:mmaa'),'MM-dd-yyyy HH:mm:ss')).show()

推荐阅读