版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
Hive关于浮点数比较
目录
1、案例
定义:deductions map<String, Float>类型
实际上0.2对于float类型是0.2000001,而对于double类型是0.20000000001。当表中的float值通过hive转换位double值是,其产生的double值是0.200000100000。
2、解决方案
方案一:将deductions的定义改为 map<String, Double>类型。
方案二:用cast函数, deductions['Federal Taxes'] > cast(0.2 AS FLOAT);
方案三:避免使用浮点数。