#hive #hue
#улей #оттенок
Вопрос:
Я пишу запрос Hive в редакторе Hue в Cloudera VM. Но почему-то я не получаю данные с точностью до 2 знаков после запятой. Тот же код, если я запускаю в командной оболочке, он дает правильный результат. Я использую последнюю версию cloudera.
select u.column1, r.column2, AVG(round(r.metric,2)) as avgr from table1 r, table2 u where u.userid= r.userid and r.metric is not null group by u.column1, r.column2;
Ответ №1:
round()
возвращает double
, AVG()
также возвращает double
.
Лучше наносить раунд за средним:
round(AVG(r.metric),2)
Если графический интерфейс по-прежнему отображает его неправильно, преобразуйте в decimal
явно:
cast(round(AVG(r.metric),2) as decimal(19,2))
Комментарии:
1. Спасибо. Это не работает с графическим интерфейсом. Поэтому я использовал другой подход, который вы предложили, и это сработало.