Экспоненциальные значения загружаются в таблицу Hive на Sqoop Import

Я импортировал таблицу с сервера SQL в Hive, тогда как поле с плавающей точкой с SQL-сервера преобразуется в двойное в улье. И некоторые из значений загружаются экспоненциальным форматом.

Ex.

Значение из таблицы = 10488666.6666667

Value loaded into Hive= 1.0488666666666666E7

Также есть еще одна проблема, наблюдаемая для того же поля, где добавляются дополнительные исправления,

Пример . Значение из таблицы = 3688666.66666667

     Value from Hive table= 3688666.6666666665

Может кто-нибудь предложить мне, как избавиться от этого и загрузить значения, как это от RDBMS к Hive, так как будет легко запросить в улье.

sql-server-2008,hive,floating-point,precision,sqoop,

0

Ответов: 2


0

Не полагайтесь на то, что вы видите на клиенте JDBC, оболочке Hive.

См. Фактические данные в HDFS таблицы вашего улья. Чтобы проверить это, перейдите в раковину и огонь улья

show create table tablename

Проверьте ключ места и перейдите в hdfs и проверьте фактические данные. Он должен быть таким же.


0

Раньше я сталкивался с такой проблемой, простой выход был бы использован для «String» в таблице hive. Система действительно прилагает дополнительные усилия для преобразования «на лету», однако она должна быть незначительной.

SQL-сервер 2008, улей с плавающей точкой, точность, sqoop,