Hive关于浮点数比较

目录

1、案例

2、解决方案


 

1、案例

定义:deductions map<String, Float>类型

Hive关于浮点数比较

 实际上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);
方案三:避免使用浮点数。

相关文章: