2015-08-10 2 views
-1

Я хочу установить точность столбца в моей таблице hive, чтобы иметь точность 11 (11 мест после десятичной). Так что у меня есть двойной вар:Изменение точности в HIVE

var = 215.6666666666667 

Я хочу, чтобы получить это до двух меньшей точности:

var = 215.66666666667 

Есть ли способ сделать это в энцефалопатии? Я использую версию 0.12.

+0

'round (DOUBLE x, INT y)' возвращает 'x' округленное до' y' десятичных знаков. Прямо из документации. – gobrewers14

ответ

0

Вы можете использовать тип данных DECIMAL в Hive, который позволяет указать масштаб и точность десятичного типа данных при создании таблицы. Тип DECIMAL в улье такой же, как формат Big Decimal Java. Он используется для представления неизменной произвольной точности. Синтаксис и пример следующие:

DECIMAL(precision, scale) 
decimal(10,0) 

Но Hive 0.12 не поддерживает точность и масштаб для десятичной дроби. HIVE-3976 добавлена ​​поддержка десятичной шкалы и точности и доступна в Hive 0.13.

Смежные вопросы