В Apache JIRA есть проблема: https://issues.apache.org/jira/browse/FLINK-3703. Это позволяет определить, где алгоритм сопоставления должен продолжаться после того, как соответствующая последовательность была найдена, и существует три типа поведения:
from first
- продолжать сохранять все события для будущих матчей (это текущее поведение)after first
- продолжить после первого элемента (удалить первое совпадающее событие и продолжить второе событие)after last
- продолжить после последнего элемента (эффективно отбрасывая все элементы совпадающей последовательности)
Например, если у нас есть последовательность событий: A
, B
, C
и шаблон first -> second
, мы получим следующие результаты:
from first
-A -> B
,A -> C
,B -> C
after first
-A -> B
,B -> C
after last
-A -> B
Теперь вопрос закрывается комментарием, что все это реализовано в других задачах:
Это было покрыто другими проблемами, включая реализацию Quantifier, skip-till-next и некоторые дополнительные проблемы для непрерывности в шаблонах циклов.
Итак, может ли кто-нибудь сказать мне, как реализовать определенные виды поведения с использованием текущего API библиотеки Flink CEP?