Flink CEP
背景介绍
随着无处不在的传感器网络和智能设备不断收集越来越多的数据,我们面临着以近实时的方式分析不断增长的数据流的挑战。 能够快速响应不断变化的趋势或提供最新的商业智能可能是公司成功或失败的决定性因素。 实时处理中的关键问题是检测数据流中的事件模式。
复杂事件处理(CEP)恰好解决了对连续传入事件进行模式匹配的问题。 匹配的结果通常是从输入事件派生的复杂事件。 与对存储数据执行查询的传统DBMS相比,CEP在存储的查询上执行数据。 可以立即丢弃与查询无关的所有数据。 考虑到CEP查询应用于潜在的无限数据流,这种方法的优势是显而易见的。 此外,输入立即处理。 一旦系统看到匹配序列的所有事件,结果就会立即发出。 这方面有效地带来了CEP的实时分析能力。
因此,CEP的处理范例引起了人们的极大兴趣,并在各种用例中得到了应用。 最值得注意的是,CEP现在用于诸如股票市场趋势和信用卡欺诈检测等金融应用。 此外,它用于基于RFID的跟踪和监控,例如,用于检测仓库中的物品未被正确检出的盗窃。 通过指定可疑用户行为的模式,CEP还可用于检测网络入侵。
Apache Flink具有真正的流处理特性以及低延迟和高吞吐量流处理功能,非常适合CEP工作负载。
CEP是什么
Flink CEP是其实一个Flink库,跟机器学习库是一样的。它是为了更快,更及时的发现一些我们所关心的事情,而不是需要等待几天或则几个月相当长的时间,才发现问题。比如我们的银行卡被人盗刷,如果没有CEP,那么我们即使丢了银行卡,可能也不知道,等我们发现银行卡丢失后,再去挂失等,发现银行卡里已经没钱了。有了CEP,则可以及时提醒,存在银行卡被盗刷的可能性。
1.从多个数据流中发现复杂事件,它的目标是识别有意义的事件(例如机会或者威胁),并尽快的做出响应
2.Flink CEP一个复杂事件处理库
特点
查询是静态的,数据是动态的,满足实现和连续查询的需求
怎么使用
如果想使用CEP就需要知道场景模型中会遇到哪些问题, CEP中对那些数据比较敏感。或者哪些是我们关心的重点,如果一些数据循环出现,那么这个数据可能就是有问题的,就可能发生风险的,比如我们银行卡在短时间内,多地刷卡,也就是在1小时内同一个卡,刷了60笔交易,也就是一分钟一笔交易,这个在我们的常识中,你觉得这可能吗?所以这时候这个卡我们就会被判断为被盗刷。而CEP该如何识别那?