pyspark 将毫秒时间戳转换为时间戳

pyspark convert millisecond timestamp to timestamp

我是 spark 的新手,我想在我的 DF 中检索时间戳。

checkpoint actual values

1594976390070

我想要:

checkpoint values without ms

1594976390070 / 1000

实际上我正在使用这段代码来转换为时间戳:

# Casting dates as Timestamp
for d in dateFields:
    df= df.withColumn(d,checkpoint.cast(TimestampType()))

我想知道如何将它转换成一个简单的时间戳。

将您的列除以 1000 并使用 F.from_unixtime 转换为时间戳类型:

import pyspark.sql.functions as F

for d in dateFields:
    df = df.withColumn(d,
        (checkpoint / F.lit(1000.)).cast('timestamp')
    )