我是新使用esper的。我对esper epl不太了解,所以我有麻烦了。
问题是这个。
用户定义值部分。
For Example,
Level1 : 1~3
Level2 : 4~6
Level3 : 7~9因此,当数据第一次出现时,请检查该部分并创建事件。但是以前的值和新的值是相同的级别,不做任何(ex. prev value=1, next value=2 These are in same Level1)。
换句话说,当数据出现时,检查前面的值和级别。如果他们有不同的水平,做点什么。
Epl能做到吗?我怎么能做到呢?
发布于 2016-04-20 12:42:34
“优先”和"prev“都允许您在给定事件之前访问事件。SQL标准的“大小写时”是SQL标准的if-然后- The。你可以这样做:
insert into CategorizedStream select
case when value between 1 and 3 then 1
when value between 4 and 6 then 2
when value > 6 then 3
end as level from SomeEvent;
select * from CategorizedStream(prior(level) != level);您可能需要在一个EPL语句中使用优先语句和case语句,但是我认为使用两个语句可以使它变得更加可读性。
https://stackoverflow.com/questions/36708497
复制相似问题