Процентильный расчет в HIVE - PullRequest
0 голосов
/ 03 февраля 2020

Как я могу вычислить 25 процентилей в улье, используя sql. Допустим, есть категория, подкатегория и столбец продаж. Итак, как я могу рассчитать 25 процентиль продаж? Я пытался использовать percentile(sales, 0.25) в улье, но выдает ошибку:

Ошибка при компиляции оператора: FAILED: NoMatchingMethodException Нет подходящего метода для класса org. apache .had oop. hive.ql.udf.UDAFPercentile with (double, decimal (2,2)). Возможные варианты: FUN C (bigint, array) FUN C (bigint, double)

1 Ответ

1 голос
/ 03 февраля 2020

Документация говорит:

Истинный процентиль может быть вычислен только для целочисленных значений. Используйте PERCENTILE_APPROX, если ваш ввод не является целочисленным.

Используйте percentile_approx для нецелых значений. percentile_approx(DOUBLE col, p [, B]) - возвращает приблизительный p-й процентиль числового столбца c (включая типы с плавающей запятой) в группе. Параметр B контролирует точность аппроксимации за счет памяти. Более высокие значения дают лучшие приближения, и значение по умолчанию составляет 10000. Когда число различных значений в столбце меньше B, это дает точное значение процентиля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...