Фильтрация из большого набора данных в потоке обработки - PullRequest
0 голосов
/ 07 апреля 2020

Я работаю над потоковым приложением, входной поток - это серия событий. Для каждого события мне нужно отфильтровать действительных подписчиков из реляционной базы данных.

eventId => (eventId, [subscriberIds])

Предположим, что таблица подписки ограничена (или неограничена, если это удобно) и имеет миллионы строк, есть ли способ сделать эту фильтрацию эффективной?

Предположим, я использую Flink, но я также открыт для решений Spark или Storm.

1 Ответ

1 голос
/ 08 апреля 2020

Если предположить, что набор действительных подписчиков постоянно обновляется и что вы не должны использовать устаревшую информацию при выполнении этой проверки, тогда Flink предлагает пару вариантов:

  1. Используйте asyn c оператор ввода-вывода Flink для управления запросами к реляционной базе данных
  2. Поддержание зеркала реляционной базы данных в состоянии Flink путем потоковой передачи в ее потоке захвата данных изменений
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...