2014-10-18 6 views
0

Я использую ESPER для обработки событий потоковой передачи. Я создаю заявления и затем добавляю их в CEP Engine следующим образом. Правильно ли это подходит для обработки больших объемов (миллионов событий в минуту) данных?Как события Esper соответствуют событиям с соответствующими запросами

Configuration cepConfig = new Configuration(); 
    cepConfig.addEventType("StockTick", Tick.class.getName()); 
    EPServiceProvider cep = EPServiceProviderManager.getProvider("myCEPEngine", cepConfig); 
    EPRuntime cepRT = cep.getEPRuntime(); 

    EPAdministrator cepAdm = cep.getEPAdministrator(); 
    EPStatement cepStatement = cepAdm.createEPL("select * from " + 
      "StockTick(symbol='AAPL').win:length(2) " + 
      "having avg(price) > 6.0"); 
    EPStatement cepStatement2 = cepAdm.createEPL("select * from " + 
      "StockTick(symbol='AAPL').win:length(2) " + 
      "having avg(price) > 7.0"); 
    CEPListener c = new CEPListener(); 
    cepStatement.addListener(c); 
    cepStatement2.addListener(c); 

добавить события с помощью:

cepRT.sendEvent() 

Как ESPER карты события на запрос, который он должен быть оценен? Если бы у меня было мероприятие для типа «Тип запаса», оно оценивается по этим утверждениям?

ответ

1

Эспер смотрит на выражения фильтра, в вашем примере «symbol = AAPL». Они вводятся в ряд обратных индексов. Вы можете увидеть, оценивает ли Esper оператор с помощью @audit.