子查询

 >= all (select salary from orderEvent.win:length_batch(5))";

注意:

运行以上三个例句后的结果,刚开始让很费解(对调试代码不做说明),因为win:length_batch(5))对子查询与外部查询中的产生的效果不一样导致。
以以上应用场景为例:
外部查询事件缓存在之前的Context节中有详细说明;
子查询缓存更新可理解为每次积累到5个事件流才会更新子查询事件缓存,超过5个将重新积累计数,;
满足输出需要两个条件:

  • 子查询中缓存的事件个数需要5个.
  • 子查询中缓存的事件中存在salary值符合条件的;

Join

格式:

事件A  关键字(inner join、full outer join、left outer join、right outer join) 事件B  on  事件连接条件

 

Inner join

默认的join方式,必须等到所有的join事件都到才能输出.

例句:

String epsql = "select * from orderEvent.std:lastevent(),orderBean.std:lastevent() ";

注:std:lastevent()必须加,不然报Joins require that at least one view is specified for each stream的错误.

Full outer join

1、两个事件不同时到达:不管事件输出的条件是否满足,当有事件到达时就输出.
2、两个事件同时达到:当条件满足,输出满足条件的数据;当条件不满足,输出,两个事件各输出一次.

例句:

String epsql = "select * from orderEvent.std:lastevent() as oe full outer join orderBean.std:lastevent() as ob on oe.salary=ob.value";

 

left outer join

关键字左边的事件到达时,不管条件是否满足都会输出,关键字右边的事件只有在满足join条件时才可以输出.

例句:

String epsql = "select * from orderEvent.std:lastevent() as oe left outer join orderBean.std:lastevent() as ob on oe.salary=ob.value";

1、right outer join与left outer join功能相反,在事件连接过程中,前后两个事件先后到达时,前到达的会被单独执行,但执行后事件缓存与内存中,与后到的事件会再次一起执行;
2、std:lastevent()对事件的修饰有缓存的作用;
3、以上四种事件连接可以多种混合使用;

Unidirectional Join

关键字unidirectional作用于修饰需要连接的事件,使被修饰的事件在连接执行过程中不缓存(无状态).

例句:

String epsql = "select * from orderEvent as oe unidirectional full outer join orderBean.std:lastevent() as ob on oe.salary=ob.value";

1、在一个执行语句中unidirectional只能修饰一个事件;
2、使用了unidirectional修饰的事件流就不能再用data window或者view修饰了(它们之间是互斥);
3、用unidirectional修饰的事件流,不能通过esper的查询api查出来,因为该事件流是无状态的,不会暂存在引擎中;

最新文章

  1. POJ 1061 同余方程
  2. input file上传文件扩展名限制
  3. DataSet筛选数据然后添加到新的DataSet中引发的一系列血案
  4. android内嵌入webview导致闪退
  5. ECharts案例教程1
  6. C# 二进制字节流查找函数IndexOf
  7. 添加线标注ILineElement
  8. 怎样在delphi中实现控件的拖拽
  9. (转)iOS Wow体验 - 第六章 - 交互模型与创新的产品概念(1)
  10. C#基础知识-数据类型(一)
  11. 201521123009《Java程序设计》第3周学习总结
  12. 【NOI2010】海拔【平面图最小割】
  13. python爬虫项目(scrapy-redis分布式爬取房天下租房信息)
  14. 利用git提交代码
  15. hashCode相关性能优化
  16. nw.js的localStorage的物理储存位置
  17. kepware http接口 php
  18. Java接口多线程并发测试 (二)
  19. 图片预加载 js css预加载
  20. Mybatis常见面试题 三

热门文章

  1. Django初体验
  2. 利用数据库链做DML操作时报ORA-02069: global_names parameter must be set to TRUE for this operation
  3. 在C#中IEnumerable与IEnumerator
  4. BZOJ 3713: [PA2014]Iloczyn
  5. C# winform 弹出输入框
  6. 1842-A. Broj
  7. 介绍一个超好用的HICHARTS扩展插件
  8. [Gauss]POJ1830 开关问题
  9. Java 单链表逆序
  10. Delphi GDI+基本用法总结