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

新手上路,请多包涵

我是 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 许可协议

阅读 1.2k
1 个回答
  1. 在 spark sql 中,您可以使用 to_timestamp,然后根据需要对其进行格式化。选择 date_format(to_timestamp(,‘yyyy/MM/dd HH:mm:ss’),“yyyy-MM-dd HH:mm:ss”) as from

  2. 这里的“时间戳”的值为 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”) 作为时间戳

原文由 Jaynab Khatun 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进