I am new using esper
. I don't know well about esper epl
, so I'm in trouble.
Problem is this.
User define the value section.
For Example,
Level1 : 1~3
Level2 : 4~6
Level3 : 7~9
So when the data come first, check the section and make events.
But previous value and new value is same level do nothing (ex. prev value=1, next value=2 These are in same Level1)
.
In other words, when data is come, check the previous value and level. If they have different level, do something.
Esper Epl can do this? How can I make it?
The "prior" and the "prev" both give you access to the event before a given event. The SQL standard "case when then" is the if-then-else of SQL standard. You could do something like this:
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);
One could probably use prior and case-when to do this in one EPL statement but I think it becomes more readable by using two statements.