【问题标题】:convert date format in hive在 hive 中转换日期格式
【发布时间】:2014-04-10 15:10:55
【问题描述】:

我如何转换这个日期:

Dec 30, 2013

hive 中的格式为“YYYY-MM-DD”:

2013-12-30

我可以进行分解和连接以匹配给定的格式,但是将 12 月转换为 12 是有问题的。

【问题讨论】:

    标签: hadoop hive impala


    【解决方案1】:

    UDF 是在 hive 或 impala 中进入的方式,但是如果您在 HDFS 中加载数据之前定义了 ETL,建议让 ETL 进行日期转换。以 YYYY-MM-DD 格式存储日期很重要,以便在 hive 或 impala 中利用 TO_DATE()

    【讨论】:

      【解决方案2】:

      如果您所有的日期都是这种格式,那么您可以编写一个 UDF,将该列读取为字符串, 然后将日期转换为给定的格式。像这样的:

      public String convertDate(String dt2) throws ParseException{
          SimpleDateFormat incommingDateFormat = new SimpleDateFormat("MMM dd, yyyy");
          SimpleDateFormat convertedDateFormat = new SimpleDateFormat("yyyy-MM-dd");
          Date dt = incommingDateFormat.parse(dt2);
          return convertedDateFormat.format(dt);
      }
      

      希望这会有所帮助...!!!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-10-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-15
        • 2021-01-16
        • 2015-02-28
        • 1970-01-01
        • 2021-06-23
        相关资源
        最近更新 更多