Pyspark 列:将字符串格式的数据转换为时间戳格式
Posted
技术标签:
【中文标题】Pyspark 列:将字符串格式的数据转换为时间戳格式【英文标题】:Pyspark column: Convert data in string format to timestamp format 【发布时间】:2020-11-13 02:53:31 【问题描述】:我正在尝试将一个字符串格式的 pyspark 列转换为时间戳格式
我尝试如下,但我得到该列的空值。
谢谢
Example data: 06/19/17 00:00:00
df = df.withColumn("date", to_timestamp(col("date"), "MM/dd/yyy HHmm"))
当我尝试如下投射时
df = df.withColumn("date",(col("invoice_date").cast(TimestampType())))
output: 2017-06-19T00:00:00.000+0000
预期输出:
06/19/17 00:00:00
【问题讨论】:
【参考方案1】:你可以这样做:
from pyspark.sql import functions as F
df.withColumn("date", F.from_unixtime(F.unix_timestamp("date", \
'MM/dd/yy HH:mm:ss'),'MM-dd-yy HH:mm:ss')).show()
+-----------------+
| date|
+-----------------+
|06-19-17 00:00:00|
+-----------------+
【讨论】:
以上是关于Pyspark 列:将字符串格式的数据转换为时间戳格式的主要内容,如果未能解决你的问题,请参考以下文章