gpt4 book ai didi

sql - Spark SQL将字符串转换为时间戳

转载 作者:行者123 更新时间:2023-12-03 14:48:48 25 4
gpt4 key购买 nike

我是Spark SQL的新手,正在尝试将字符串转换为Spark数据帧中的时间戳。我在名为time_string的列中有一个类似于'2017-08-01T02:26:59.000Z'的字符串

我将此字符串转换为时间戳的代码是

CAST (time_string AS Timestamp)


但这给了我 2017-07-31 19:26:59的时间戳

为什么改变时间?有没有一种方法可以不更改时间?

谢谢你的帮助!

最佳答案

您可以使用unix_timestamp函数将utc格式的日期转换为时间戳

val df2 = Seq(("a3fac", "2017-08-01T02:26:59.000Z")).toDF("id", "eventTime")

df2.withColumn("eventTime1", unix_timestamp($"eventTime", "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").cast(TimestampType))


输出:

+-------------+---------------------+
|userid |eventTime |
+-------------+---------------------+
|a3fac |2017-08-01 02:26:59.0|
+-------------+---------------------+


希望这可以帮助!

关于sql - Spark SQL将字符串转换为时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45558499/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com