- 3
- 0
- 约1.21万字
- 约 13页
- 2017-08-24 发布于河南
- 举报
Esper学习之八:EPL语法(四)
? 国庆假期之后的工作周,居然苦逼的只有一个休息日,博客没写成不说,打球还把脚给扭了。不仅如此,这周开始疯狂加班了,所以今天这篇拖了又拖。。。 ??????? 关于EPL,已经写了三篇了,预估计了一下,除了今天这篇,后面还有5篇左右。大家可别嫌多,官方的文档对EPL的讲解有将近140页,我已经尽量将废话 都干掉了,再配合我附上的例子,看我的10篇文章比那140页英文文档肯定舒服多了吧。也请各位原谅我一周一篇的速度,毕竟我还要学习,生活,工作,一个 都不能少。??????? 今天讲解的内容包括三块:Order by,Limit,Insert into。大家会SQL的应该很熟悉这三个东西,前两个比较简单,Insert into会有一些差别,篇幅也相对多些。1.Order byEPL的Order by和SQL的几乎一模一样,作用都是对输出结果进行排序,但是也有一些需要注意的地方。语法如下:[plain]view plaincopyorder?by?expression?[asc?|?desc]?[,?expression?[asc?|?desc]]?[,?...]??expreession表示要排序的字段,asc表示升序排列(从小到大),desc表示降序排列(从大到小)。举个例子:[plain]view plaincopy//?每进入5个事件输出一次,并且先按照name升序排列,再按照age降序排列。??select?*?from?User?output?every?5?events?order?by?name,?age?desc??使用方法很简单,除了和SQL相似的特点外,还有他自己需要注意的几点: a. 如果不特别说明是升序还是降序,默认情况下按照升序排列。b. 如果order by的子句中出现了聚合函数,那么该聚合函数必须出现在select的子句中。c. 出现在select中的expression或者在select中定义的expression,在order by中也有效。d. 如果order by所在的句子没有join或者没有group by,则排序结果幂等,否则为非幂等。2. LimitLimit在EPL中和在SQL中也基本一样,不过SQL中是用具体的数字来表示限制范围,而EPL可以是常量或者变量来表示限制范围。语法如下:[plain]view plaincopylimit?row_count?[offset?offset_count]??row_count表示输出多少行,可以是一个整型常量,也可以是一个整型变量,以方便运行时修改。 offset_count表示在当前结果集中跳过n行然后再输出,同样也可以是一个整型变量。如果不使用此参数,则表示跳过0行,即从第一行输出。举例如下:[plain]view plaincopy//?输出结果集的第3行到第10行??select?uri,?count(*)?from?WebEvent?group?by?uri?output?snapshot?every?1?minute?order?by?count(*)?desc?limit?8?offset?2??除了以上的语法,limit还有一种简化的写法,实际上是参照SQL的标准。 [plain]view plaincopylimit?offset_count[,?row_count]??两个参数的含义和上面的一样,并且我们将上面的例子改写一下: [plain]view plaincopy//?输出结果集的第3行到第10行??select?uri,?count(*)?from?WebEvent?group?by?uri?output?snapshot?every?1?minute?order?by?count(*)?desc?limit?2,?8??如果这个两个参数是负数会怎么样呢? row_count为负数,则无限制输出,若为0,则不输出。当row_count是变量表示并且变量为null,则无限制输出。offset _count是不允许负数的,如果是变量表示,并且变量值为null或者负数,则EPL会把他假设为0。3. Insert into3.1 简单用法??????? EPL的Insert into和SQL的有比较大的区别。SQL是往一张表里插入数据,而EPL是把一个事件流的计算结果放入另一个事件流,然后可以对这个事件流进行别的计 算。所以Insert into的一个好处就是可以将是事件流的计算结果不断级联,对于那种需要将上一个业务的结果数据放到下一个业务处理的场景再适合不过了。除此之 外,Insert into还有合并多个计算结果的作用。到这里相信大家已经对他越来越好奇了,不急,咱们先来看看语法:[plain]view plaincop
您可能关注的文档
- 19周 品质周报最新.ppt
- 2006年上半年理论题.doc
- 2010年「府际关系与地方治理」第一次学术工作坊(业务简报).pdf
- 2011执业医师中医外科考试大纲.docx
- 2011年保代培训记录(第三期)(兰州).pdf
- 2013年质量宣传月知识竞赛题库(三).docx
- 2013自招物理模拟试题【第四套】.doc
- 2014年3月施工日志.doc
- 2014-05 存款保险制度的现实意义及国外制度经验研究.pdf
- 2016四川银行春季校园招聘计算机基础知识重点解析.docx
- 安徽省华师联盟2025-2026学年高三上学期1月质量检测生物试卷+答案.doc
- 安徽省华师联盟2025-2026学年高三上学期1月质量检测语文试卷+答案.doc
- 四川省绵阳南山中学实验学校2025-2026学年高三上学期1月月考数学含答案.doc
- 2026届辽宁省大连市高三上学期双基考试物理试卷+答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测化学含答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测生物含答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测英语含答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测政治含答案.doc
- 黑龙江省龙江教育联盟2026年1月高三上学期期末考试化学含答案.doc
- 黑龙江省龙江教育联盟2026年1月高三上学期期末考试生物含答案.doc
原创力文档

文档评论(0)