我有这样的桌子

 - seek_video   2014-08-30 11:26:06 NULL    9   0
 - seek_video   2014-08-30 11:26:13 NULL    0   5
 - seek_video   2014-08-30 11:26:13 NULL    5.07195 0
 - seek_video   2014-08-31 11:05:24 NULL    330.94054   312
 - seek_video   2014-08-31 11:38:30 NULL    220 229
 - seek_video   2014-08-31 11:51:15 NULL    323.833366  345
 - seek_video   2014-08-31 11:51:16 NULL    346.223424  367
 - seek_video   2014-08-31 11:51:16 NULL    367.879296  380
 - seek_video   2014-08-31 11:51:17 NULL    381.625192  397
 - seek_video   2014-08-31 11:51:19 NULL    309.719715  323
 - seek_video   2014-08-31 11:34:33 NULL    440.885152  309
 - seek_video   2014-08-31 11:46:04 NULL    255.366326  268
 - seek_video   2014-08-31 11:46:05 NULL    268 290
 - seek_video   2014-08-31 11:46:07 NULL    290 309
 - seek_video   2014-08-31 11:44:34 NULL    231.77611   250
 - seek_video   2014-08-31 11:34:58 NULL    272 220
 - seek_video   2014-08-31 11:34:55 NULL    299 272
 - seek_video   2014-08-31 11:34:53 NULL    309 299
 - seek_video   2014-08-31 12:16:29 NULL    501.779488  489
 - seek_video   2014-08-31 12:26:32 NULL    551.362232  578
 - seek_video   2014-08-31 12:26:35 NULL    580.790634  625
 - seek_video   2014-08-31 12:26:37 NULL    627.838707  663
 - seek_video   2014-08-31 12:26:38 NULL    663.573627  649
 - seek_video   2014-08-31 12:26:39 NULL    650.194875  637
 - seek_video   2014-08-31 12:26:42 NULL    639.451178  621
 - seek_video   2014-08-31 07:58:51 NULL    9.075397    9
 - seek_video   2014-08-31 07:58:52 NULL    9   4
 - seek_video   2014-08-31 08:13:59 NULL    19.630148   27

我的查询
select max(old_time),max(new_time) from (
select event_type,time,currenttime,old_time,new_time
from vi_log_table
where *************) t1 ;

最后两列的最大值返回9.075397 9而不是650.19 663我对这种不可预测的行为感到很困惑。 hive 在处理浮点值时是否存在一些问题

按时间顺序对值进行排序后进行编辑
  • 580.790634 625
  • 650.194875 637
  • 663.573627 649
  • 627.838707 663
  • 9.075397 9
  • 最佳答案

    我找到了。

    在HIVEQL中,最后两行的数据类型只是字符串
    使用
    cast(new_time as float)
    会给出正确的顺序

    关于hadoop - hiveql中max,min的不稳定行为,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30575062/

    10-13 02:00