Esper 之EPL

Esper 提供的EPL功能非常强大,出了继承SQL功能之外,还提供了强大的模式匹配语言
1 继承SQL语言功能,主要是扩展了一些本地方法调用,以及引入滑动窗口概念

   主要看看滑动窗口
     a) select sum(price) from myEvent(symbol='GE').win:length(5)
     b) create window myWindow.win:keepall() as  myEvent

     a是将myEvent事件集定义成长度为5的滑动窗口(.win:length(5)),也就是这个事件集里只保存最近的5个事件,

     b是自定义一个窗口,这个窗口为无限制的(win:keepall()),可以往窗口里面插入任意的事件(可以指定).

   滑动窗口类型(从字面上就可以看出什么意思)

   Win:length(10)Win:time(10 sec)Win:length_batch(10)Win:time_batch(10 sec) …….. 等等

   对于窗口我们可以捕获进入事件和离开事件,关键字 istream / rstream 

   select istream / rstream  myname  from myEvent.win:time(4 sec)

 




 

 

      在t+4秒进入事件w1 t+5秒进入事件W2 ,在t+8秒离开事件w1

     这种滑动窗口没什么不好理解的地方,多试几次就很熟悉了。

   接下来看看模式匹配,模式匹配语言我们平常很少接触,这里重点介绍下

   CEP处理中,两种匹配很重要,一个是事件之间的关系匹配,一个是事件前后状态匹配,SQL语言很难做到,模式匹配语    言能很好的处理

 

   今天先写到这里,明天继续

  

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值