Относительно варианта использования по запросам в друид

0

У меня есть случай использования в друиде, где данные в реальном времени поступают в формате, например,

           task{
               taskno;
               category;
             }

Здесь категория может быть "назначена" или "неназначена". Сюда входят следующие задачи:

           taskno:1,category:"assigned"
           taskno:2,category:"unassigned"
           taskno:3,category:"assigned"
           taskno:4,category:"assigned"

Здесь, если я выполняю запрос с фильтром как "категория" со счетчиком (*), я получаю результат как;

            assigned:3 
            unassigned:1

Теперь новое событие приходит с

           taskno:2,category:"assigned"

Я хочу, чтобы результаты запроса

            assigned:4
            unassigned:0

Есть ли способ сделать это, используя Javascript UDF или что-то в друиде? Благодарю.

  • 0
    Если временная метка одинакова для обоих событий с «taskno: 2», существует способ переопределить предыдущие данные
  • 0
    о, рад узнать, что @mdeora, но, к сожалению, временные метки для обоих в моем случае разные :(. Знаете ли вы, что делать, если разные временные метки?
Теги:
real-time
user-defined-functions
druid

1 ответ

0

Вы можете сначала отфильтровать свой запрос по задаче и отфильтровать его по категории с порядком, как desc и limit 1. Он должен дать вам желаемый результат.

И в вашей функции, где вы получаете результаты, вы можете добавить счетчики, или вы можете написать функцию агрегации сообщений, чтобы сделать то же самое в друиде.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню