2015-03-21 4 views
0

Я использую CDH 5.3.0 и Hive 0.12. У меня есть таблица Hive с столбцами, которые определены как double.Тип данных о кустах: Double Precision & Scale

Я загружаю данные в эти двойные столбцы с 2-мя шкалами точности после десятичной точки из файла последовательности HDFS. Например, в моем файле последовательности HDFS мои данные похожи - 100.23 или 345.00. Мне нужно выбрать double, поскольку мое значение данных может быть большим значением, например «3457894545.00»

Мое требование состоит в том, чтобы отображать две точности шкалы после десятичной точки при запросе таблицы Hive. Поэтому с приведенными выше примерами данных, если я запрашиваю этот столбец, мне нужно будет увидеть значение как «100.23» или «345.00».

Но с Hive 0.12, после десятичной точки я получаю только одинарную точность, т. Е. Значение усекается до «100.2» или «345.0».

Я пробовал использовать «десятичный» тип данных, давая синтаксис как «десятичный (3,2)», но в этом случае мое значение полностью округляется, т. Е. «100» или «345».

Я смотрел, есть ли возможность определить пользовательскую точность для двойного типа данных и обнаружил, что пользовательская точность может быть задана из улья 0,13 на подопечных.

Is Hive 0.12 двойной тип данных показывает только одинарную точность после запятой. Нужно ли применять любое исправление. Пожалуйста, предлагайте.

Заранее спасибо.

+0

Разве вы не googled перед публикацией этого вопроса? – Outlier

+0

Если десятичное значение (5,2), то что будет выводиться для значения, такого как 3457894545.85 – user2883028

ответ

4

Вы должны объявить decimal(5,2).

Синтаксис: DECIMAL(precision, scale). Точность означает количество цифр этого номера, включая цифры после точки.