复杂事件处理(Complex Event Processing,CEP)
Flink CEP是在Flink中实现的复杂事件处理(CEP)库
CEP允许在无休止的事件流中检测事件模式,让我们有机会掌握数据中重要的部分
一个或多个简单事件构成的事件流通过一定的规则匹配,然后输出用户想得到的数据--满足规则的复杂事件
CEP的特点
目标:从有序的简单事件流中发现一些高阶特征
输入:一个或者多个由简单事件构成的事件流
处理:识别简单事件之间的内在联系,多个符合一定规则的简单事件构成复杂事件
输出:满足规则的复杂事件
Pattern API
处理事件的规则,被叫做“模式”(Pattern)
Flink CEP 提供了Pattern API,用于对输入流数据进行负责事件的规则定义
用来提取符合规则的事件序列
个体模式(Individual Patterns)
组成复杂规则的每一个单独的模式定义,就是“个体模式”
start.times(3).where(_.begavior.startsWith("fav"))
个体模式可以包括单例(singleton)模式和循环(looping)模式
单例模式只接收一个事件,而循环模式可以接收多