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