Двойные значения импалы загружаются неправильно - PullRequest
0 голосов
/ 23 ноября 2018

Я создал простую таблицу в Impala, как показано ниже

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

И мой оператор вставки похож на ниже

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

Но проблема в

Мои значенияв импале загружается как

name,salary
prasad,158.1666666666

Я не понимаю, почему это происходит.Я пробовал в других БД, как улей, но значение загружается как 158,17, но в Impala это 158,1666666666

Можете ли вы помочь мне, почему это происходит ...

И как загрузитьфактические значения ...

Пожалуйста, ведите меня

1 Ответ

0 голосов
/ 24 ноября 2018

Это проблема арифметики с плавающей запятой и фиксированной запятой.Если вы хотите, чтобы десятичная часть была точной, используйте decimal / numeric для столбца:

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