事件流处理引擎Esper专题

        之前在csdn的博客专栏里没有查到Esper,所以本人抛砖引玉,开设了第一个Esper专栏。如果有大神也在研究Esper,希望能以专栏的形式推广Esper。虽然说小众,但是功能强大。下面我为各位做了简单的介绍。


       CEP,是一种实时事件处理并从大量事件数据流中挖掘复杂模式的技术,全称为Complex Event Processing,即复杂事件处理。Esper是CEP的一个开源实现,它是一个Java开发的事件流处理和复杂事件处理引擎。该引擎可应用于网络入侵探测,SLA监测,RFID读取,航空运输调控,金融方面(风险管理,欺诈探测)等领域。它的特点是能够快速开发出复杂的实时计算策略,并且有着高吞吐量以及低延迟的特点,特别适合大量数据的实时计算。


       有朋友可能会想到目前很流行的一个实时计算框架——Storm。我也一直在研究Storm,得出的结论是:这两个完全不是一类东西。Esper的特点在于它的复杂处理逻辑可以用类SQL语句(EPL)开发,而Storm的特点在于并行计算和快速恢复,但是计算逻辑是需要自己用代码实现的。所以大家在学习的时候不必把Storm的那些内容存于脑子,只要你有SQL基础,学习Esper还是很容易的。

       我开设这个专栏的目的是因为官方的文档太多且是英文(700页左右),这对于可能大部分人来说是一个比较高的阅读门槛,所以我想将文档精简并翻译出来给大家,并附上本人亲自验证的例子,让各位能以最小的时间成本了解并应用于实际项目中。目前专栏的文章已有十多篇,我还会继续写下去。文章内容基本上是按照官方的手册上的顺序编写。但是遇到一些分散的内容,或者常用的功能,我会将其提前整合写出来。所以各位如果对照着文档看我的文章,可能会有些出入。


文章目录(括号里是文章的主要内容)

1.    Esper学习之一:    Esper介绍
2.    Esper学习之二:    事件类型(POJO,Map,Object Array)
3.    Esper学习之三:    进程模型(UpdateListener,Insert and Remove Stream,Filter and Where-Clause)
4.    Esper学习之四:    Context
5.    Esper学习之五:    EPL语法(一)(EPL介绍,Time Periods,Annotation,Expression)
6.    Esper学习之六:    EPL语法(二)(Select Clause,From Clause)
7.    Esper学习之七:    EPL语法(三)(Aggregation,Group By,Having,Output)
8.    Esper学习之八:    EPL语法(四)(Order By,Limit,Insert Into)
9.    Esper学习之九:    EPL语法(五)(Subquery,Join)
10.  Esper学习之十:    EPL语法(六)(与Database交互)
11.  Esper学习之十一: EPL语法(七)(Schema)
12.  Esper学习之十二: EPL语法(八)(Named Window)
13.  Esper学习之十三: EPL语法(九)(Variable,Update Clause)
14.  Esper学习之十四: EPL语法(十)(Contained Event,For Clause)
......未完待续

示例源代码地址 https://github.com/luonanqin/csdn-esper 这里面除了博客中的源代码,也包含了我平时对每个功能点写的小demo,如果代码有问题请及时向我反馈。


你可能感兴趣的:(Esper,CEP,事件处理引擎,EPL)