Я подготовил установку Apache Друид, которая берет данные из топи Кафки c. Он работает очень плавно и эффективно.
В настоящее время я пытаюсь реализовать некоторые запросы, и я застрял в количестве строк (сгруппированных по некоторым полям), для которых значение столбца является выбросом. В обычном мире SQL я по существу вычислю первый и третий квартили (q1 и q3), а затем использую что-то вроде (меня интересуют только "правильные" выбросы):
SUM(IF(column_value > q3 + 1.5*(q3-q1), 1, 0))
В этом подходе используются cte и объединения: я вычисляю квартили в cte с группировкой, а затем соединяю их с исходной таблицей.
Мне удалось легко вычислить квартили и выбросы порог с расширением эскиза данных с использованием запроса groupBy
, но я не понимаю, как выполнить postAggregation, который может выполнять подсчет.
Теоретически, я могу реализовать второй запрос, используя пороги, полученные в первом , К сожалению, я могу получить сотни тысяч различных значений. Это делает этот подход неосуществимым.
Есть ли у вас какие-либо предложения о том, как решить эту проблему?