Невозможно получить 2 десятичных знака в запросе Hive с помощью редактора Hue - PullRequest
1 голос
/ 11 марта 2019

Я пишу запрос 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;

enter image description here

1 Ответ

1 голос
/ 11 марта 2019

round() возвращает double, AVG() также возвращает double.

Лучше применять раунд после AVG:

 round(AVG(r.metric),2)

Если GUI по-прежнему отображает его неправильно, преобразуйте в decimal явно:

cast(round(AVG(r.metric),2) as decimal(19,2)) 
...