2014-10-18 36 views
0

我正在使用ESPER進行流事件處理。我正在創建語句,然後將它們添加到CEP引擎中,如下所示。這是處理大量數據(每分鐘百萬個事件)的正確方法嗎?Esper如何通過適當的查詢匹配事件

cepRT.sendEvent() 

如何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); 

我使用添加事件?如果我有股票類型IBM的事件,它會根據這些語句進行評估嗎?

回答

1

Esper查看過濾器表達式,在您的示例「symbol = AAPL」中。這些進入一系列反向索引。您可以看到Esper是否使用@audit來評估語句。