【问题标题】:Spark sql Unix timestamp returning wrong output [duplicate]Spark sql Unix时间戳返回错误输出[重复]
【发布时间】:2018-08-31 10:59:51
【问题描述】:

以下查询返回 2017-02-23 00:45:00 而不是 12:45

spark.sql("select from_unixtime(unix_timestamp(('2017-02-23 12:45:00')," +
          "'yyyy-MM-dd hh:mm:ss'))").show(false)

但是下面的查询返回了预期的输出

2017-02-23 13:45:00

spark.sql("select from_unixtime(unix_timestamp(('2017-02-23 13:45:00')," +
          "'yyyy-MM-dd hh:mm:ss'))").show(false)

有人可以帮忙吗?

【问题讨论】:

    标签: scala apache-spark unix-timestamp


    【解决方案1】:

    你应该使用大写 h 作为HH:mm:ss

    spark.sql("select from_unixtime(unix_timestamp(('2017-02-23 12:45:00'),'yyyy-MM-dd HH:mm:ss')) AS date").show(false)
    

    这应该给你

    +-------------------+
    |date               |
    +-------------------+
    |2017-02-23 12:45:00|
    +-------------------+
    

    您可以获取更多信息here

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-07-16
    • 2017-10-06
    • 2013-12-03
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 2021-12-23
    • 2011-02-26
    相关资源
    最近更新 更多