订单不按预期工作

时间:2015-08-17 12:46:48

标签: hive

我想在表上使用order by命令来按顺序获取时间戳。但它没有给出我期望的结果。例如;

select * from my_table order by tstmp desc;

我给出了类似的结果;

my_table.tstmp
--------------
     100
      98
      45
     150
     145

这是什么原因以及如何解决这个问题?

谢谢。

1 个答案:

答案 0 :(得分:1)

如果您将数据类型作为my_table.tstmp列的时间戳,则应包含格式为yyyy-mm-dd hh:mm:ss。如果它们采用其他格式,则将它们声明为相应的类型(INT,FLOAT,STRING)等)并使用UDF将它们转换为时间戳。 而不是应用你的排序。