Использование GroupByKey с размещением каждой клавиши в отдельном окне - PullRequest
0 голосов
/ 29 мая 2020

У меня есть неограниченный источник данных (поток Kafka) в качестве входных данных для моей работы с лучом.

Характеристики c данных:

  1. Это группы элементов (размер группы составляет от 5 до 20 элементов).
  2. Ключ каждой группы является уникальным идентификатором и используется только для этой группы.
  3. Максимальная разница во времени между первым и последним элементами в группе составляет менее 2 секунд.

enter image description here

Я хочу выполнить следующее:

  1. Группирование их вместе по их ключу
  2. Обработка каждой группы по отдельности.

Я понял, что могу использовать функцию GroupByKey для этого.

enter image description here

Но тогда, поскольку это неограниченный источник, мне нужно применить оконное управление, иначе GroupBy никогда не завершится. enter image description here

Мой вопрос: есть ли способ, позволяющий мне сгруппировать каждую клавишу в отдельном окне, и закрыть его через определенное время? Большое спасибо

1 Ответ

1 голос
/ 29 мая 2020

Вероятно, вы можете попробовать использовать Session windows, где каждый сеанс будет соответствовать группе во входном наборе данных.

...