【问题标题】:Hive - UNIX_TIMESTAMP QuandaryHive - UNIX_TIMESTAMP 困惑
【发布时间】:2015-05-07 05:48:39
【问题描述】:

这是我的 1 行数据(为简洁起见):

73831   12/26/2014 1:00:00 AM   0.3220

第二列是time 列,它是字符串格式的。我正在使用这个蜂巢查询:

select col2, UNIX_TIMESTAMP(col2,'MM/DD/YYYY hh:mm:ss aaa') from Table

这是我得到的:1388296800

但是,当我与http://www.epochconverter.com/from_unixtime(1388296800) 核对时,我得到了不同的日期。

我在 Hive 中输入 UNIX_TIMESTAMP 的格式/模式字符串有问题吗?

【问题讨论】:

  • from_unixtime 内部使用 - Java - SimpleDateFormat
  • 我分别使用 Python 和 Java 的代码进行了检查
  • Java 代码导入 java.text.ParseException;导入 java.text.SimpleDateFormat;导入 java.util.Date;导入 java.util.Locale;公共类 SimpleDateFormatExample { public static void main(String[] args) throws Exception { Date curDate = new Date(); SimpleDateFormat 格式 = 新的 SimpleDateFormat(); String DateToStr = "2014 年 12 月 26 日下午 1:00:00"; format = new SimpleDateFormat("MM/DD/YYYY hh:mm:ss aaa"); System.out.println(format.parse(DateToStr)); } }
  • 打印 - 2013 年 12 月 29 日星期日 13:00:00 EST
  • 你能把这些cmets放到问题里吗?您可以在提交后对其进行编辑。

标签: hive unix-timestamp


【解决方案1】:

您的日期格式符号需要符合 Java SimpleDateFormat documentation 中的那些。

对于您的约会,您似乎想要MM/dd/yyyy HH:mm:ss aa

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-08
    • 1970-01-01
    • 2021-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多