首页 > 解决方案 > Pyspark - 转换为时间戳

问题描述

火花版本:2.1

我正在尝试将字符串日期时间列转换为格式为 utc 时间戳yyyy-mm-ddThh:mm:ss

我首先将字符串列的格式更改为yyyy-mm-ddThh:mm:ss ,然后将其转换为时间戳类型。稍后我会使用to_utc_timestamp函数将时间戳转换为 UTC。

df.select(
    f.to_timestamp(
        f.date_format(f.col("time"), "yyyy-MM-dd'T'HH:mm:ss"), "yyyy-MM-dd'T'HH:mm:ss"
    )
).show(5, False)

通过date_format给我正确的格式可以正常工作。但是,当我to_timestamp在该结果之上进行操作时,格式会更改为yyyy-MM-dd HH:mm:ss, 而应该是yyyy-MM-dd'T'HH:mm:ss. 为什么会这样?

有人可以告诉我如何保留 date_format 给出的格式吗?我应该怎么办?

标签: pythonapache-sparkdatepysparkapache-spark-sql

解决方案


推荐阅读