esper(复杂事件处理引擎)简介

简介: Esper是一个复杂事件处理引擎,用于对同一类型的多个对象进行统计分析。 要统计的多个事件(一个事件通常对应着一个对象)会存储在一个队列中,这里叫它EQueue。 获得 <dependency> <groupId>com.espertech</groupId> <artifactId>esper<

Esper是一个复杂事件处理引擎,用于对同一类型的多个对象进行统计分析。

要统计的多个事件(一个事件通常对应着一个对象)会存储在一个队列中,这里叫它EQueue。

获得

 <dependency>
       <groupId>com.espertech</groupId>
       <artifactId>esper</artifactId>
       <version>4.9.0</version>
 </dependency>

我的入门DEMO在  点击打开我的GitHub

EPL

EPL,Event Process Language,事件处理语言。类似于SQL,描述了esper要分析的内容。

详见该分类下的其他博文。

事件类型

javaPojo

可以发送javaPojo,也可以发送map。
发送javaPojo时,直接创建epl = "select avg(price) from " + javaPojo.class.getName() + ".win:length_batch(2)";即可。
map

发送map时,可以注册表的类型,见下:

//发送map时,可以注册表的类型
// Person定义
Map<String, Object> personTable = new HashMap<String, Object>();
personTable.put("name", String.class);
personTable.put("age", Integer.class);
// 注册Person到Esper
admin.getConfiguration().addEventType("personEventTypeName",personTable);


发送map时,也可以通过epl语句建立。

//发送map时,也可以通过epl语句建立。
String createEpl="create schema appTable as (`id` int, `price` int, `color` string)";
admin.createEPL(createEpl);
注意:如果把schema看成一张表,我们发送的map中列数少了不报错,列数多了不报错(esper只用能匹配得上的元素),列名对应的数据类型不匹配也不报错(esper不会帮你转换)。

例子


目录
相关文章
|
8月前
|
Java 程序员 网络安全
Flink处理函数实战之四:窗口处理
学习Flink低阶处理函数中的ProcessAllWindowFunction和ProcessWindowFunction
Flink处理函数实战之四:窗口处理
|
8月前
|
机器学习/深度学习 Java 程序员
Flink处理函数实战之三:KeyedProcessFunction类
通过实战学习和了解处理函数的KeyedProcessFunction类
Flink处理函数实战之三:KeyedProcessFunction类
|
8月前
|
Java 程序员 网络安全
|
JavaScript 前端开发
三连弹!原生实现异步处理利器 —— Observable
本篇带来用原生实现 Observable,一探内部究竟!!
|
数据库连接
Yii2.0框架中如何进行事件处理?它支持哪些事件?
Yii2.0框架中如何进行事件处理?它支持哪些事件?
107 0
|
数据采集 消息中间件 XML
【Esper技术专题】一个简单的事件响应功能的案例(2)复杂事件处理引擎
【Esper技术专题】一个简单的事件响应功能的案例(2)复杂事件处理引擎
245 0
|
JSON 监控 机器人
EventBridge 事件领域重点特性介绍(二)| 学习笔记
快速学习 EventBridge事件领域重点特性介绍。
141 0
EventBridge 事件领域重点特性介绍(二)| 学习笔记
|
弹性计算 数据可视化 API
EventBridge 事件领域重点特性介绍(一)| 学习笔记
快速学习 EventBridge事件领域重点特性介绍。
163 0
EventBridge 事件领域重点特性介绍(一)| 学习笔记
|
SQL 机器学习/深度学习 运维
(1)Flink CEP复杂事件处理引擎介绍
复杂事件处理(CEP)既是把不同的数据看做不同的事件,并且通过分析事件之间的关系建立起一套事件关系序列库。利用过滤,聚合,关联性,依赖,层次等技术,最终实现由简单关系产生高级事件关系。 复杂事件主要应用场景:主要用于信用卡欺诈检测、用户风险检测、设备故障检测、攻击行为分析等领域。 Flink CEP能够利用的场景较多,在实际业务场景中也有了广泛的使用案例与经验积累。比如
(1)Flink CEP复杂事件处理引擎介绍
|
Kubernetes JavaScript 前端开发
Sentry(v20.12.1) K8S 云原生架构探索, SENTRY FOR JAVASCRIPT 手动捕获事件基本用法
Sentry(v20.12.1) K8S 云原生架构探索, SENTRY FOR JAVASCRIPT 手动捕获事件基本用法
137 0