在hive中转换日期格式

35g0bw71  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(423)

如何转换此日期:

Dec 30, 2013

配置单元中的格式为“yyyy-mm-dd”:

2013-12-30

我可以做explode和concat来匹配给定的格式,但将dec转换为12是个问题。

rkkpypqq

rkkpypqq1#

udf是在hive或impala中使用的方法,但是如果在hdfs中加载数据之前定义了etl,建议让etl执行日期转换。以yyyy-mm-dd格式存储日期非常重要,这样可以利用hive或impala中的to\u date()

rseugnpd

rseugnpd2#

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

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);
}

希望这有帮助。。。!!!

相关问题