一、什么是 CEP
- CEP 是 Complex Event Processing 的缩写,意为"复杂事件处理";
- Flink CEP 是 Flink 中实现的复杂事件处理库;
- CEP 允许在无休止的事件流中检测事件模式,让我们有机会掌握数据中的重要部分;
- 一个或多个由简单事件构成的事件流通过一定的匹配规则,然后输出用户想要得到的数据;
二、量词 Quantifier
- start.times(6):匹配出现 6 次;
- start.times(6).optional:匹配出现 0 次或 6 次;
- start.times(3,6):匹配出现 3 ~ 6 次;
- start.times(3,6).greedy:匹配出现 3 ~ 6 次,并且尽可能多的匹配;
- start.oneOrMore():匹配 1 次或多次;
- start.timesOrMore(2).optional.greedy:匹配 0 次或 2 次或多次,且尽可能多的重复匹配
三、条件:where、or、until
- 简单条件:start.where(event => event.getName.startsWith("Liu"));
- 组合条件:pattern.where(event => ...).or(event =