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

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



