Esper
jianyuanPC
这个作者很懒,什么都没留下…
展开
-
Esper系列(十四)Contained-Event Selection
功能:该语法是针对所查询事件中的属性又是另一种属性的查询结果控制。 格式: 1 [select select_expressions from] 2 contained_expression [@type(eventtype_name)] [as alias_n原创 2016-11-15 10:05:29 · 361 阅读 · 0 评论 -
Esper系列(十)NamedWindow语法delete、Select+Delete、Update
On-Delete With Named Windows 功能:在Named Windows中删除事件. 格式: 1 on event_type[(filter_criteria)] [as stream_name] 2 delete from window_or_原创 2016-11-15 10:05:07 · 528 阅读 · 0 评论 -
Esper系列(八)Method Definition、Schema
Method Definition 作用:以公共静态方法的方式去访问外部数据。 应用说明: 1、返回数据的方法必须是公共静态方法(方法参数可以有多个也可以没有); 2、如果返回一条数据或无返回数据,则方法的返回类型可以是Java类或者Map类型数据。如果返回多条数据(包括一条),则方法返回类型必须是Java类的数组或者Map数组; 3、如果方法的返回类型是原创 2016-11-15 10:04:54 · 411 阅读 · 0 评论 -
Esper系列(九)NamedWindow语法create、Insert、select
功能:用于存储一种或多种类型的事件的集合,并能对所存储的事件进行增删改查操作. CreateNameWindow 根据已有的数据源构造 格式: 1 [context context_name] 2 create window window_n原创 2016-11-15 10:05:00 · 424 阅读 · 0 评论 -
Esper系列(十二)Variables and Constants
功能:变量和常量的定义及应用。 EPL配置创建 1 // 方式一EPAdministrator之后再设置变量及常量 2 EPServiceProvider epService = EPServiceProviderManager.getDefaultProvide原创 2016-11-15 10:05:19 · 332 阅读 · 0 评论 -
Esper系列(一)初探
Esper介绍 Esper是一个Java开发并且开源的轻量级和可扩展的事件流处理和复合事件处理引擎,并提供了定制的事件处理语言(EPL)。 应用场景 某个用户在请求登录服务时,n秒内连续m次未登录成功,可视为该ip在暴力破解密码。又或者:用户在页面上的操作间隔超过n秒即认为该用户已关闭该网页。也许上面的几个例子不够好或者已经有别的方式实现,但是Esper确实能够将其抽象成多个关联的事件原创 2016-11-15 10:01:33 · 910 阅读 · 1 评论 -
Esper系列(四)Output
功能 控制Esper事件流计算结果的输入形式、时间点及频率; 格式 1 output [after suppression_def] 2 [[all | first | last | snapshot] every output_rate [seconds |原创 2016-11-15 10:03:43 · 491 阅读 · 0 评论 -
Esper系列(三)Context和Group by
Context 把不同的事件按照框的规则框起来(规则框在partition by中定义),并且有可能有多个框,而框与框之间不会互相影响。 功能: 组合事件查询并进行分组,类型:Hash Context、Category Context、Non-Overlapping Context。 格式: 1 create cont原创 2016-11-15 10:03:31 · 497 阅读 · 0 评论 -
Esper系列(七)数据缓存、外部事件应用(静态方法)
LRU Cache 功能:最近最少使用策略。 数据库查询缓存应用配置: 1 database-reference name="mydb"> 2 ... configure data source or driver manager settings...原创 2016-11-15 10:04:42 · 610 阅读 · 0 评论 -
Esper系列(六)子查询、Exists、In/not in、Any/Some、Join
子查询 1 // 子查询结果为外事件属性 2 String epsql = "select (select name from orderEvent.std:lastevent()) as result from orderEvent ";原创 2016-11-15 10:04:36 · 483 阅读 · 0 评论 -
Esper系列(五)Order by、Limit、构建事件流、Updating an Insert Stream
Order by 与SQL语法类似类似,默认为升序排列; 注意: 如果order by的子句中出现了聚合函数,那么该聚合函数必须出现在select的子句中。 出现在select中的expression或者在select中定义的expression,在order by中也有效。 如果order by所在的句子没有join或者没有group by,则排序结果幂等,原创 2016-11-15 10:04:27 · 439 阅读 · 0 评论 -
Esper系列(十三)Splitting and Duplicating Streams
功能:将同一个事件流分发到其它的事件流中。 格式: 1 [context context_name] 2 on event_type[(filter_criteria)] [as stream_name] 3原创 2016-11-15 10:05:25 · 380 阅读 · 0 评论 -
Esper系列(十一)NamedWindow语法Merge、Queries、Indexing、Dropping
On-Merge With Named Windows 功能:对window中的insert、update、delete操作进行组合运用。 格式: 1 on event_type[(filter_criteria)] [as stream_name] 2 merge原创 2016-11-15 10:05:11 · 398 阅读 · 0 评论