在配置单元中操作日期格式

时间:2017-07-06 05:01:22

标签: hadoop hive hiveql hadoop2

我的Avro数据中包含2种格式 2001-11-28T06:00:00.000Z 10/20/09 的日期,我想转换此内容对于通用格式,我们如何在hive-0.10.0

中实现这一目标

我想将其转换为 2015-01-01 00:00:00 格式

2 个答案:

答案 0 :(得分:0)

可以使用配置单元中的日期函数

类似

CAST(FROM_UNIXTIME(UNIX_TIMESTAMP(column,'your-format'),"<desired-format>")AS STRING)

获取更多帮助,请查看此处Date Functions

答案 1 :(得分:0)

我相信你在一个列中获得两种格式,如果理解正确,则将input_column创建为string,如果表名为test,则查询看起来像

select if (instr(input_column,"/") != 0 , from_unixtime(UNIX_TIMESTAMP(input_column, "MM/dd/yy"),"yyyy-MM-dd HH:mm:ss") , from_unixtime(UNIX_TIMESTAMP(input_column, "yyyy-MM-dd'T'HH:mm:ss.S'Z'"),"yyyy-MM-dd HH:mm:ss")) from test;