Hi Aarti

Flink doesn't support connecting multiple streams with heterogeneous schema
,you can try the below solution

a) If stream A is sending some events make the output of that as
String/JsonString.

b) If stream B is sending some events make the output of that as
String/JsonString.

c) Now Using union function you can connect all the streams & use FlatMap
or process function to
evaluate all these streams against your defined rules.

d) For Storing your aggregations and rules you can build your cache layer
and pass as a argument
to the constructor of that flatmap.








On Mon, Jul 2, 2018 at 2:38 PM, Aarti Gupta <aagu...@qualys.com> wrote:

> Hi,
>
> We are currently evaluating Flink to build a real time rule engine that
> looks at events in a stream and evaluates them against a set of rules.
>
> The rules are dynamically configured and can be of three types -
> 1. Simple Conditions - these require you to look inside a single event.
> Example, match rule if A happens.
> 2. Aggregations - these require you to aggregate multiple events. Example,
> match rule if more than five A's happen.
> 3. Complex patterns - these require you to look at multiple events and
> detect patterns. Example, match rule if A happens and then B happens.
>
> Since the rules are dynamically configured, we cannot use CEP.
>
> As an alternative, we are using connected streams and the CoFlatMap
> function to store the rules in shared state, and evaluate each incoming
> event against the stored rules.  Implementation is similar to what's
> outlined here
> <https://data-artisans.com/blog/bettercloud-dynamic-alerting-apache-flink>
> .
>
> My questions -
>
>    1. Since the CoFlatMap function works on a single event, how do we
>    evaluate rules that require aggregations across events. (Match rule if more
>    than 5 A events happen)
>    2. Since the CoFlatMap function works on a single event, how do we
>    evaluate rules that require pattern detection across events (Match rule if
>    A happens, followed by B).
>    3. How do you dynamically define a window function.
>
>
> --Aarti
>
>
> --
> Aarti Gupta <https://www.linkedin.com/company/qualys>
> Director, Engineering, Correlation
>
>
> aagu...@qualys.com
> T
>
>
> Qualys, Inc. – Blog <https://qualys.com/blog> | Community
> <https://community.qualys.com> | Twitter <https://twitter.com/qualys>
>
>
> <https://www.qualys.com/email-banner>
>



-- 
*Cheers *

*Puneet Kinra*

*Mobile:+918800167808 | Skype : puneet.ki...@customercentria.com
<puneet.ki...@customercentria.com>*

*e-mail :puneet.ki...@customercentria.com
<puneet.ki...@customercentria.com>*

Reply via email to