zoukankan      html  css  js  c++  java
  • esper(1)-窗口概述

    Time Window:

     

    Length Window:

    Time Batch Window:

     

     带batch的是所有的都执行完后,在触发UpdateListener,如下边例子:

    public class AppleListener implements UpdateListener {
    
        public void update(EventBean[] newEvents, EventBean[] oldEvents) {
            if (newEvents != null) {
                Double avg = (Double)newEvents[0].get("avg(price)");
                System.out.println("Apple's average price is " + avg);
            }
        }
    
    }
    String epl = "select avg(price) from " + product + ".win:length_batch(3)";
    ...
    runtime.sendEvent(new Apple(1));
    runtime.sendEvent(new Apple(2));
    runtime.sendEvent(new Apple(3));
    //runtime.sendEvent(new Apple(4));
    //runtime.sendEvent(new Apple(5));
    //runtime.sendEvent(new Apple(6));
    • 当为length(3)时,每次执行runtime.sendEvent都会调用UpdateListener。
    • 当为length_batch(3)时,直到最后的runtime.sendEvent(apple3);执行完毕后,才调用UpdateListener。
    • 当只有runtime.sendEvent(new Apple(1));时,

    如果是win:length(3),输出:Apple's average price is 1.0

    如果是win:length_batch(3),啥都不输出。

    • 当有runtime.sendEvent(new Apple(1));和runtime.sendEvent(new Apple(2));时,

          如果是win:length(3),输出:

                Apple's average price is 1.0
                Apple's average price is 1.5

          如果是win:length_batch(3),啥都不输出。

    • 当有 runtime.sendEvent(new Apple(1));和runtime.sendEvent(new Apple(2));和runtime.sendEvent(new Apple(3));时,

        如果是win:length(3),输出:

          Apple's average price is 1.0
          Apple's average price is 1.5
          Apple's average price is 2.0

             如果是win:length_batch(3),输出:Apple's average price is 2.0

    • 当sendEvent 4个时,

        如果是win:length(3),输出:

          Apple's average price is 1.0
          Apple's average price is 1.5
          Apple's average price is 2.0
          Apple's average price is 3.0

             如果是win:length_batch(3),输出:Apple's average price is 2.0

    • 当sendEvent 5个时,

        如果是win:length(3),输出:

          Apple's average price is 1.0
          Apple's average price is 1.5
          Apple's average price is 2.0
          Apple's average price is 3.0
          Apple's average price is 4.0

             如果是win:length_batch(3),输出:

          Apple's average price is 2.0

    • 当sendEvent 6个时,

        如果是win:length(3),输出:

          Apple's average price is 1.0
          Apple's average price is 1.5
          Apple's average price is 2.0
          Apple's average price is 3.0
          Apple's average price is 4.0
          Apple's average price is 5.0

             如果是win:length_batch(3),输出:

          Apple's average price is 2.0
          Apple's average price is 5.0

  • 相关阅读:
    我真的没读野鸡大学!是他们不好好起名字!
    Request.Cookies和Response.Cookies
    深受理科生喜欢的10大专业
    如何玩转“互联网+教育”?
    js调试工具Console命令详解
    XSS获取cookie并利用
    257. Binary Tree Paths
    EXEC sp_executesql with multiple parameters
    235. Lowest Common Ancestor of a Binary Search Tree
    226. Invert Binary Tree
  • 原文地址:https://www.cnblogs.com/yaoyuan2/p/10511944.html
Copyright © 2011-2022 走看看