2015年10月12日
摘要: 上一篇开始了新一轮语法——Pattern的讲解,一开始为大家普及了几个基础知识,其中有说到操作符。当时只是把它们都列举出来了,所以今天这篇就是专门详解这些操作符的,但是由于篇幅限制,本篇先会讲几个,剩余的后面几篇会逐个讲解。1. Followed-by 如果各位有看过官方文档,应该会发现Follow... 阅读全文
posted @ 2015-10-12 19:55 Yudar 阅读(620) 评论(0) 推荐(0) 编辑
摘要: 1. Pattern Atoms and Pattern operatorsPattern是通过原子事件和操作符组合在一起构成模板。原子事件有3类,操作符有4类,具体如下:原子事件:1).普通事件:包括POJO,Map,Array,XML2).时间事件:包括间隔n个时间单位、crontab3).自定... 阅读全文
posted @ 2015-10-12 19:54 Yudar 阅读(836) 评论(0) 推荐(0) 编辑
摘要: 距离上一篇博客已经有很多个月的时间了,由于工作的原因,没怎么腾出手来写博客。再加上自己已计划算法学习为第一要务,更新博客的事情暂时就放缓了脚步。所以各位童鞋大可不必等我的博客,先把文档看起来,有什么不懂的先记下来,可以私信问我也可以等文章出来后再理解一遍,这样就不耽误大家的学习了。 上一篇我们说到了... 阅读全文
posted @ 2015-10-12 19:53 Yudar 阅读(910) 评论(0) 推荐(0) 编辑
摘要: 今天的内容十分重要,在Esper的应用中是十分常用的功能之一。它是一种事件集合,我们可以对这个集合进行增删查改,所以在复杂的业务场景中我们肯定不会缺少它。它就是Named Window。 由于本篇篇幅较长,希望各位童鞋慢慢阅读,并仔细研究文档中或者我给出的例子。1.Create Named Win... 阅读全文
posted @ 2015-10-12 19:52 Yudar 阅读(972) 评论(0) 推荐(0) 编辑
摘要: 上一篇说到了EPL如何访问关系型数据库这种数据源,实际上别的数据源,比如:webservice、分布式缓存、非关系型数据库等等,Esper提供了统一的数据访问接口。然后今天会讲解如何创建另外一种事件类型——Schema。1.Joining Method Invocation Results和执行sq... 阅读全文
posted @ 2015-10-12 19:51 Yudar 阅读(603) 评论(0) 推荐(0) 编辑
摘要: 在esper的文档中,epl访问数据库的配置放在了比较靠后的位置,不过为了方便各位学习,这里会先说明和数据库交互的相关配置,然后再说epl怎么访问数据库。配置文件在官方esper包的etc文件夹下,大家可以参考着学习。1.连接数据库a.JNDI获取连接配置如下:[html]view plainco... 阅读全文
posted @ 2015-10-12 19:49 Yudar 阅读(787) 评论(0) 推荐(0) 编辑
摘要: 本篇的内容主要包括了Subquery(也就是子查询)和Join,内容不少,但是不难,基本上和sql差不太多。1.SubqueryEPL里的Subquery和sql的类似,是否比sql的用法更多我不得而知,毕竟本人是sql菜鸟,只在where语句里用过子查询。废话不多说,先上几个Subquer的简单用... 阅读全文
posted @ 2015-10-12 19:48 Yudar 阅读(718) 评论(0) 推荐(0) 编辑
摘要: 关于EPL,已经写了三篇了,预估计了一下,除了今天这篇,后面还有5篇左右。大家可别嫌多,官方的文档对EPL的讲解有将近140页,我已经尽量将废话都干掉了,再配合我附上的例子,看我的10篇文章比那140页英文文档肯定舒服多了吧。也请各位原谅我一周一篇的速度,毕竟我还要学习,生活,工作,一个都不能少。 ... 阅读全文
posted @ 2015-10-12 19:47 Yudar 阅读(752) 评论(0) 推荐(0) 编辑
摘要: 1.Aggregation和SQL一样,EPL也有Aggregation,即聚合函数。语法如下:[plain]view plaincopyaggregate_function([all|distinct]expression)aggregate_function就是聚合函数的名字,比如avg,sum... 阅读全文
posted @ 2015-10-12 19:45 Yudar 阅读(765) 评论(0) 推荐(0) 编辑
摘要: 从上一篇开始说EPL的语法,主要是关于注解的。今天来说说比较常用的语法,Select Clause和From Clause。这个两个可以说是写EPL必备,要想得到事件流的处理结果,基本上就靠他们俩了(Pattern除外)。今天的内容比较简单,还请各位同学牢记,以免以后应用的时候花时间看文档或者我的文... 阅读全文
posted @ 2015-10-12 19:44 Yudar 阅读(805) 评论(0) 推荐(0) 编辑
摘要: 上篇说到了Esper的Context,要是不了解的同学请参看《Esper学习之四:Context》,看过的同学如果还是不理解的话可以给我评论,我将会尽可能的解答。之前有些同学问我Context和Group by有什么区别,其实如果只是很简单的用Context,那么确实没太大区别,无非是在Contex... 阅读全文
posted @ 2015-10-12 19:18 Yudar 阅读(1427) 评论(0) 推荐(0) 编辑
摘要: Context是Esper里一个很有意思的概念,要是理解为上下文,我觉得有点不妥。以我的理解,Context就像一个框,把不同的事件按照框的规则框起来,并且有可能有多个框,而框与框之间不会互相影响。不知道各位在看完这篇文章后是否认同我的观点,我愿洗耳恭听。1.Context基本语法语法结构如下[pl... 阅读全文
posted @ 2015-10-12 19:16 Yudar 阅读(756) 评论(0) 推荐(0) 编辑
摘要: 之前对Esper所能处理的事件结构进行了概述,并结合了例子进行讲解,不清楚的同学请看Esper学习之二:事件类型。今天主要为大家解释一下Esper是怎么处理事件的,即Esper的进程模型。1.UpdateListenerUpdaterListener是Esper提供的一个接口,用于监听某个EPL在引... 阅读全文
posted @ 2015-10-12 19:15 Yudar 阅读(766) 评论(0) 推荐(0) 编辑
摘要: Esper对事件有特殊的数据结构约定。能处理的事件结构有:POJO,java.util.Map,Object Array,XML1.POJO 对于POJO,Esper要求对每一个私有属性要有getter方法。Esper允许不必按照JavaBean规定的格式,但是getter方法是必须的。又或者可以在... 阅读全文
posted @ 2015-10-12 19:14 Yudar 阅读(966) 评论(0) 推荐(0) 编辑
摘要: CEP即Complex Event Process,中文意思就是“复杂事件处理”。听起来好像很复杂,实际上就是基于事件流进行数据处理,把要分析的数据抽象成事件,然后将数据发送到CEP引擎,引擎就会根据事件的输入和最初注册的处理模型,得到事件处理结果。 有人可能要问了,这和Hadoop有什么区别?可是... 阅读全文
posted @ 2015-10-12 19:12 Yudar 阅读(3085) 评论(0) 推荐(1) 编辑