我是 Spark SQL 的新手,正在尝试将字符串转换为 spark 数据框中的时间戳。我在名为 time_string 的列中有一个看起来像 '2017-08-01T02:26:59.000Z'
的字符串
我将此字符串转换为时间戳的代码是
CAST (time_string AS Timestamp)
但这给了我一个时间戳 2017-07-31 19:26:59
为什么要改变时间?有没有办法在不改变时间的情况下做到这一点?
谢谢你的帮助!
原文由 Jessica 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 spark sql 中,您可以使用 to_timestamp,然后根据需要对其进行格式化。选择 date_format(to_timestamp(,‘yyyy/MM/dd HH:mm:ss’),“yyyy-MM-dd HH:mm:ss”) as from
这里的“时间戳”的值为 2019/02/23 12:00:00,它是“事件”表中的 StringType 列。要转换为 TimestampType,请应用 to_timestamp(timestamp, ‘yyyy/MM/dd HH:mm:ss)。需要确保时间戳的格式与您的列值相同。然后根据您的要求应用 date_format 进行转换。
> 从事件中选择 date_format(to_timestamp(timestamp,‘yyyy/MM/dd HH:mm:ss’),“yyyy-MM-dd HH:mm:ss”) 作为时间戳