flink-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Steve Jerman <st...@kloudspot.com>
Subject How to use 'dynamic' state
Date Mon, 06 Mar 2017 21:04:52 GMT
I’ve been reading the code/user goup/SO and haven’t really found a great answer to this…
so I thought I’d ask.

I have a UI that allows the user to edit rules which include specific criteria for example
trigger event if X many people present for over a minute.

I would like to have a flink job that processes an event stream and triggers on these rules.

The catch is that I don’t want to have to restart the job if the rules change… (it would
be easy otherwise :))

So I found four ways to proceed:

* API based stop and restart of job … ugly.

* Use a co-map function with the rules alone stream and the events as the other. This seems
better however, I would like to have several ‘trigger’ functions changed together .. e.g.
a tumbling window for one type of criteria and a flat map for a different sort … So I’m
not sure how to hook this up for more than a simple co-map/flatmap. I did see this suggested
in one answer and 

* Use broadcast state : this seems reasonable however I couldn’t tell if the broadcast state
would be available to all of the processing functions. Is it generally available?

* Implement my own operators… seems complicated ;)

Are there other approaches?

Thanks for any advice
View raw message