首页 > 解决方案 > 如何使用 pyspark 将时间戳转换为 unix 格式

问题描述

我有一个带有时间戳值的数据框,例如: 2018-02-15T11:39:13.000Z 我想使用 Pyspark 将其设为 UNIX 格式。

我尝试了类似data = datasample.withColumn('timestamp_cast', datasample['timestamp'].cast('date'))的方法,但我丢失了很多信息,因为当我的源中有毫秒信息时,我只会得到日/月/年。

结果:2018-02-15

任何想法获得unix格式并保持精度?谢谢!

标签: pythonpysparktimestampunix-timestamppyspark-sql

解决方案


unix_timestamp您可以通过以下方式使用内置:

from pyspark.sql.functions import unix_timestamp
df = df.withColumn('unix', unix_timestamp('timestamp'))

或者

df = df.selectExpr('unix_timestamp(timestamp)')

推荐阅读