云与雾中的数据分析、机器学习及物联网应用
1. 复杂事件处理(CEP)
复杂事件处理(CEP)是一种常用于模式检测的分析引擎。它起源于20世纪90年代的离散事件模拟和股票市场波动交易,本质上能够近乎实时地分析实时数据流。当大量事件进入系统后,会被缩减和提炼为更高级别的事件,这些事件比原始传感器数据更抽象。
1.1 CEP的特点
- 速度优势 :相较于流处理器,CEP引擎在实时分析中的周转时间更快。流处理器可在毫秒级解决事件,但CEP在这方面更具优势。
- 查询方式 :使用类似SQL的查询,但不依赖数据库后端,而是在传入流中搜索指定的模式或规则。CEP由带有时间戳的离散数据元素元组组成,适用于滑动窗口事件分析。由于其语义类似SQL,且设计上比常规数据库查询更快,所有规则和数据都存储在内存中(通常是多GB的数据库),并且需要从现代流消息系统(如Kafka)获取数据。
1.2 CEP的操作和应用
CEP具有滑动窗口、连接和序列检测等操作,其引擎可以基于前向或后向链,类似于规则引擎。行业标准的CEP系统是Apache WSO2 CEP,它与Apache Storm结合时,每秒可处理超过100万个事件,无需存储事件。WSO2使用SQL语言,也可用JavaScript和Scala编写脚本,还可通过Siddhi包扩展功能,实现地理定位、自然语言处理、机器学习、时间序列相关和回归、数学运算、字符串和正则表达式等服务。
以下是使用Siddhi QL代码查询数据流的示例:
超级会员免费看
订阅专栏 解锁全文
31

被折叠的 条评论
为什么被折叠?



