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

uurity8g  于 2022-11-01  发布在  Spark
关注(0)|答案(2)|浏览(214)

我有一个带有时间戳值的 Dataframe ,如下所示:2018-02- 15 T11:39:13.000Z我想使用Pyspark将其转换为UNIX格式。
我尝试了类似data = datasample.withColumn('timestamp_cast', datasample['timestamp'].cast('date'))的方法,但是我丢失了很多信息,因为当我的源代码中有毫秒级的信息时,我只能得到日/月/年。
结果:2018-02-15
有什么想法得到unix和保持精度?谢谢!

eyh26e7m

eyh26e7m1#

你可以使用内置在unix_timestamp中的下列方法:

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

或者

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

n3ipq98p2#

另一种可能的方法是直接将cast列转换为整型

df.withColumn('timestamp_unix', F.col('timestamp').cast('int'))

相关问题