Impala double值未正确加载

时间:2018-11-23 19:29:01

标签: sql hadoop hive impala

我已经在Impala中创建了一个简单的表格,如下所示

   CREATE TABLE IF NOT EXISTS my_db.employee
   (name STRING, salary double );

我的插入语句如下所示

insert into employee (name, salary)
    VALUES ("Prasad", 158.17)

但是问题是

我在impala中的值正在加载为

name,salary
prasad,158.1666666666

我不明白为什么会这样。我已经尝试在其他数据库中像蜂巢一样,但是该值正被加载为158.17,但是在黑斑羚中它是158.1666666666

您能帮我为什么会这样吗...

以及如何加载实际值...

请指导我

1 个答案:

答案 0 :(得分:0)

这是浮点与定点算法的问题。如果希望小数部分精确,请对列使用decimal / numeric

CREATE TABLE IF NOT EXISTS my_db.employee 
    name STRING,
    salary DECIMAL(10, 2)
);