2016-10-14 7 views
0

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

Ex.

значение из таблицы = 10488666,6666667

Value loaded into Hive= 1.0488666666666666E7 

И есть еще одна проблема наблюдается для той же области, где получение добавлены дополнительные уточнения,

Ex. Значение из таблицы = 3688666.66666667

 Value from Hive table= 3688666.6666666665 

Может кто-то предложить мне, как избавиться от этого и загрузить значения, как это из РСУБД в улье, так как это будет легкость для запроса в улье.

ответ

0

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

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

show create table tablename 

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

+0

Да, HDFS также содержит экспоненциальные значения. Также мой вопрос заключается в том, как хранить значения, как в HDFS? –

+0

@ Priya.A Не ваши значения одинаковы в SQL Server и HDFS? –

+0

@ Priya.A Как вы видите данные на SQL Server? –

0

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

+0

Я пробовал это, но он не смог решить мою проблему :( –

+0

Могу я узнать, какой инструмент вы используете для передачи - sqoop? –

+0

yes.m, используя sqoop –