在hive中直接对timestamp类型取max报错

之前直接对timestamp类型做max操作,

select id,max(updatetime) updatetime from his.tag group by id;

结果查询的结果有的显示为1970-01-01,如下图:

 在hive中直接对timestamp类型取max报错

解决办法:

先将timestamp类型用unix_timestamp函数转换成bigint

然后进行取max操作,最后再将结果通过from_unixtime函数转换成string

select id,from_unixtime(max(unix_timestamp(updatetime))) from his.tag group by id;

正确结果:

在hive中直接对timestamp类型取max报错