背景 hive版本1.2.1 问题 where过滤条件中很多条件,其中包含了数值比较情况,当时开发人员没注意写的是a=0.01进行比较,a为数值型,造成过滤条件不生效的情况。单独是用a=0.01可以,但是在复杂条件下会出现问题。 在impala中执行同样的sql却不会有问题,说明hive本身对数值比较的处理方式跟impala不同。 解决 数值型字段比较最好还是避免等值比较,还是采用相加相减在一定精度内保险。