Как сделать esper epl разделить раздел и сравнить значение
Я новичок в использовании 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)
,
Другими словами, когда поступают данные, проверьте предыдущее значение и уровень. Если у них другой уровень, сделай что-нибудь.
Эспер Эпл может это сделать? Как я могу это сделать?
1 ответ
"До" и "предыдущий" дают вам доступ к событию до данного события. Стандарт SQL "случай, когда" - это стандарт SQL "тогда и тогда". Вы могли бы сделать что-то вроде этого:
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, но я думаю, что это становится более читабельным при использовании двух операторов.