Как можно у процесса Flink оценить несколько независимых условий для одного и того же временного окна - PullRequest
0 голосов
/ 09 февраля 2019

Итак, у нас есть события a, b, c, x, y, z в источнике kafka в течение 10-минутного окна, и у меня есть код flink с 10-минутным окном (keyed, tumplingwindow).

У меня есть условия для стрельбы (в 10-минутном окне)

  1. a && b && c
  2. a && z
  3. b &&x && y
  4. a && e
  5. a && f

Очевидно, что только первые три условия будут иметь значение true в 10-минутном окне.

Я хочу, чтобы каждый из трех выполнил триггер для приемника кафки для этих событий (поэтому три (3) триггера для этого примера, отправленного в приемник кафки).

Я проверил примеры иУ меня есть полный комплект проводов с производителем, потребителем и процессором Flink.Но из любого примера не ясно, как оценить несколько независимых условий для данных в одном временном окне.

Это просто концептуальный пример.В действительности будет 200 000 - 400 000 условий для оценки по входящему потоку (миллионы событий).Кто-то упомянул, что обычно вы используете что-то вроде drools (или движка правил), но в этом конкретном случае RETE вообще не масштабируется, и рекомендовал мне проверить один из процессоров сложного потока событий -больше ориентированы на большие данные.

Извините, это уже длинный вопрос, но я хотел дать хороший контекст, чтобы эксперты по Flink могли лучше судить.Спасибо.

...