В Hive, как сохранить точность десятичных дробей? - PullRequest
0 голосов
/ 03 апреля 2020

У меня есть таблицы Hive, скопированные со структурой базы данных MS SQL.

Типы данных с плавающей точкой копируются.

Однако в точности с плавающей точкой из MS * 1024 наблюдается потеря * в HIVE.

Пример

Значение для перевода из MS SQL в HIVE равно 0.33871666700000003

Тестовая база данных имеет 3 столбца с тремя типами данных: float, decimal(38,38), double

Когда данные вставлены, результат будет следующим:

'0.33871666','0.33871666700000003000000000000000000000','0.338716667'

Ни один из этих типов не сохраняет правильное исходное значение. Хотя десятичное число (38,38) теоретически имеет математически одинаковое значение, оно мне не подходит, когда я хочу прагматически сравнивать значения.

Есть ли способ, в идеале без изменения столбца тип (float), чтобы сохранить то же значение при переносе в улей?

...