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

Tic*_*oin 3 python timestamp unix-timestamp pyspark pyspark-sql

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

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

结果: 2018-02-15

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

Tan*_*jin 10

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

from pyspark.sql.functions import unix_timestamp
df = df.withColumn('unix', unix_timestamp('timestamp'))
Run Code Online (Sandbox Code Playgroud)

或者

df = df.selectExpr('unix_timestamp(timestamp)')
Run Code Online (Sandbox Code Playgroud)