【问题标题】:Convert String to Timestamp in Hive HQL在 Hive HQL 中将字符串转换为时间戳
【发布时间】:2018-04-13 10:28:37
【问题描述】:

我有一个类似“08/03/2018 02:00:00”的字符串,我正在尝试将其转换为时间戳值。

我正在使用以下代码:

unix_timestamp("08/03/2018 02:00:00", "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")

当我使用上面的代码时,它会抛出一个 NULL 值。

如何在 Hive/Hue 编辑器中将此字符串转换为时间戳?

【问题讨论】:

    标签: hive timestamp simpledateformat hue hive-query


    【解决方案1】:

    您指定的格式与实际时间戳不匹配。 如果您的示例中的08/03dd/MM,那么:

    select unix_timestamp("08/03/2018 02:00:00", "dd/MM/yyyy HH:mm:ss")
    OK
    1520503200
    Time taken: 0.299 seconds, Fetched: 1 row(s)
    
    
    
    select from_unixtime(unix_timestamp("08/03/2018 02:00:00", "dd/MM/yyyy HH:mm:ss"))
    OK
    2018-03-08 02:00:00
    Time taken: 0.068 seconds, Fetched: 1 row(s)
    

    如果您想从 ISO 时间戳 https://stackoverflow.com/a/23520257/2700344 转换,请参阅此答案

    您可以为 unix_timestamp 指定非标准格式的日期模式。在此处查看文档:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-DateFunctions

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多