2015-11-09 27 views
0

我有以下流定義:Siddhi無法通過多個變量進行分組嗎?

String eventStreamDefinition = "define stream cdrEventStream (nodeId string, phone string, timeStamp long, isOutgoingCall bool); ";

和查詢:

String query = "@info(name = 'query1') from cdrEventStream#window.externalTime(timeStamp,5 sec) select nodeId, phone, timeStamp, isOutgoingCall, count(nodeId) as callCount group by phone,isOutgoingCall insert all events into outputStream;";

但是,當我嘗試編譯他們,我得到:

org.wso2.siddhi.query.compiler.exception.SiddhiParserException: You have an error in your SiddhiQL at line 1:267, extraneous input ',' expecting {'#', STREAM, DEFINE, TABLE, FROM, PARTITION, WINDOW, SELECT, GROUP, BY, HAVING, INSERT, DELETE, UPDATE, RETURN, EVENTS, INTO, OUTPUT, EXPIRED, CURRENT, SNAPSHOT, FOR, RAW, OF, AS, OR, AND, ON, IS, NOT, WITHIN, WITH, BEGIN, END, NULL, EVERY, LAST, ALL, FIRST, JOIN, INNER, OUTER, RIGHT, LEFT, FULL, UNIDIRECTIONAL, YEARS, MONTHS, WEEKS, DAYS, HOURS, MINUTES, SECONDS, MILLISECONDS, FALSE, TRUE, STRING, INT, LONG, FLOAT, DOUBLE, BOOL, OBJECT, ID_QUOTES, ID} 
    at org.wso2.siddhi.query.compiler.internal.SiddhiErrorListener.syntaxError(SiddhiErrorListener.java:34) 
    at org.antlr.v4.runtime.ProxyErrorListener.syntaxError(ProxyErrorListener.java:65) 
    at org.antlr.v4.runtime.Parser.notifyErrorListeners(Parser.java:558) 
    at org.antlr.v4.runtime.DefaultErrorStrategy.reportUnwantedToken(DefaultErrorStrategy.java:377) 
    at org.antlr.v4.runtime.DefaultErrorStrategy.sync(DefaultErrorStrategy.java:275) 
    at org.wso2.siddhi.query.compiler.SiddhiQLParser.group_by(SiddhiQLParser.java:3783) 
    at org.wso2.siddhi.query.compiler.SiddhiQLParser.query_section(SiddhiQLParser.java:3713) 
    at org.wso2.siddhi.query.compiler.SiddhiQLParser.query(SiddhiQLParser.java:1903) 
    at org.wso2.siddhi.query.compiler.SiddhiQLParser.execution_element(SiddhiQLParser.java:619) 
    at org.wso2.siddhi.query.compiler.SiddhiQLParser.execution_plan(SiddhiQLParser.java:550) 
    at org.wso2.siddhi.query.compiler.SiddhiQLParser.parse(SiddhiQLParser.java:152) 
    at org.wso2.siddhi.query.compiler.SiddhiCompiler.parse(SiddhiCompiler.java:61) 
    at org.wso2.siddhi.core.SiddhiManager.createExecutionPlanRuntime(SiddhiManager.java:59) 

唯一方式我可以得到查詢編譯是通過刪除isOutgoingCall fr om group by條款。 Siddhi文檔指出,應該可以使用多個變量進行分組。這是一個錯誤?

這是在版本3.0.0-alpha。

+0

'組by' _after_'插入... INTO outputStream'? –

+0

不,不起作用。無論如何,通過升級到3.0.3來解決它。謝謝! – Johnny

回答

2

Siddhi 3.0.0支持由多個變量進行分組。我剛剛用Siddhi 3.0.0檢查了你的查詢,並且能夠編譯它。但我當然使用3.0.0發佈。你可以試試看嗎?

提示:您可以使用Siddhi try it輕易嘗試你的查詢

相關問題