题
我试图实现一个EPL查询可以拿起为平均时间(T)和时间(T-1)。
例如:
前5秒(秒0-5)有2个事件具有12的平均一)
B)在接下来的5秒(秒5-10)有3个事件与23之间的一个平均,和在EPL查询捕获这些信息,我能够又见12的平均从前次的前5秒窗口
的想法我是错开的对象/查询以这样的方式,最终的EPL查询具有时间(T)和时间的快照(T-1),如见于几乎创建的对象ScoreInfoBeforeAfter。但是它不工作。
任何想法将不胜感激。感谢。
~~~~
// The object being published to the Esper stream:
class ScoreEvent { int score; ... }
解决方案
看起来像关键字的现有强>是该溶液中。
HTTP://esper.codehaus。组织/艾斯波-2.1.0 / DOC /参考/ EN / HTML / functionreference.html
请参阅:栏目7.1.9 强>
在我在原来的职位描述的示例而言,这里的相应溶液,我发现。这似乎是正常工作。
INSERT INTO ScoreInfo
SELECT
'ScoreInfo' as a_Label,
average AS curAvg,
prior(1, average) AS prevAvg
FROM
ScoreEvent.win:time_batch(5 sec).stat:uni(score);
SELECT
*
FROM
ScoreInfo.win:length(1);
..结果 然后,这是不错的,因为你可以做的东西是这样的:
SELECT
'GT curAvg > prevAvg' as a_Label,
curAvg,
prevAvg
FROM
ScoreInfo.win:length(1)
WHERE
curAvg > prevAvg;
SELECT
'LTE curAvg <= prevAvg' as a_Label,
curAvg,
prevAvg
FROM
ScoreInfo.win:length(1)
WHERE
curAvg <= prevAvg;
不隶属于 StackOverflow