Как использовать скользящее окно Kafka Stream для динамического включения достаточного количества точек данных - PullRequest
1 голос
/ 14 июня 2019

Я новичок в Кафке и на пару. У нас есть ситуация, в которой я думаю, что скользящее окно Kafka Streams могло бы помочь, но я не могу найти какую-либо документацию или примеры, которые показывают, как.

Что я хочу сделать:

Для каждого нового сообщения из темы Кафки я хочу, чтобы все связанные сообщения за последний час были агрегированы, и если в течение последнего часа меньше x сообщений, я хочу найти связанные события, произошедшие в более раннем временном окне ,

Например, новое сообщение имеет значение вроде {'id': 123, 'timestamp': '2019-06-13 20:00:00', другой ключ: другое значение}. Я хочу найти все сообщения, сохраненные в kafka, которые имеют значения {'id': 123, 'timestamp':}.

Проблемы, с которыми я столкнулся.

Если в течение последнего часа не было сообщений или было отправлено только несколько сообщений, я хочу искать сообщения в более раннем временном окне, пока не найду x сообщений или пока самая ранняя временная метка не достигнет фиксированной даты.

В python я мог бы использовать некоторую повторяемость или поиск, чтобы оглянуться назад в наборе исторических данных, но я не знаю, как это сделать в потоковой передаче Kafka.

Может ли кто-нибудь дать намек? Спасибо.

1 Ответ

0 голосов
/ 27 июня 2019

@ Лена, как предложено @Matthias. Я бы использовал процессорный API для обработки этой логики.Вы должны иметь возможность создавать и управлять своим собственным хранилищем состояний.

...