如何使用 pyspark 将时间戳转换为 unix 格式

How do I convert timestamp to unix format with pyspark

我有一个带有时间戳值的数据框,如下所示:2018-02-15T11:39:13.000Z 我想使用 Pyspark 以 UNIX 格式获得它。

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

结果:2018-02-15

有没有办法获得 unix 格式并保持精度?谢谢!

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

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

或者

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