You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@flink.apache.org by shishal singh <sh...@gmail.com> on 2018/03/14 10:53:23 UTC
Flink CEP pattern with multiple temporal constraint
Hi Team,
I have a scenario where I need to detect following pattern for a
transaction.
My basic transaction event look like this => *Transaction(id,status,
eventTime)*
Transaction goes through following state.
*BEGIN -> COMPLETE (within 5 day, if this comes then no need to wait for
PROCESSING)*
*BEGIN -> PROCESSING (within 1 day)*
*PROCESSING -> PROCESSING (within 1 day, could happen upto 5 days)*
*PROCESSING -> COMPLETE (within 1 day)*
In plain text, basically when a transaction is initiated it can go from
BEGIN to COMPLETE in 5 days. But If its can not be completed within 1 day
then it keep sending a PROCESSING event on that day. So this can happen
upto 5 day and then finally it can send COMPLETE event.
I want to alert per transaction if there is any diversion form this pattern.
The number of transaction in a day could be 10-50 million. I am looking for
FlinkCEP for this problem. I have gone through their doc
https://ci.apache.org/projects/flink/flink-docs-
release-1.4/dev/libs/cep.html
But still I am not sure how to design this pattern. I hope it is possible
to design pattern with Flink CEP?
Also if I am not wrong , I need to use PatternTimeoutFunction to trigger
alert.
Thanks,
Shishal