Hi,
I have a scenario where I have an input event stream from various IoT devices. Every message on this stream can be of some eventType and has an eventTimestamp. Downstream, some business logic is implemented on this based on event time. In case a device goes offline, what's the best way to indicate to this system that even time has progressed? Should I :
I would prefer not writing code to handle special watermark messages. So does Flink provide any API level call that I can use to tick the watermark forward for all downstream operators when this special message is received / timer is fired? |
Hi Manas, both are valid options. I'd probably add a processing time timeout event in a process function, which will only trigger after no event has been received after 1 minute. In this way, you don't need to know which devices there are and just enqueue one timer per key (=device id). After the process function, you'd need to reapply your watermark assigner as processing time and event time usually don't mix well and need to be explicitly resolved. After the assigner, you can then simply filter out the timeout event and don't need to care in downstream operations. On Mon, Mar 23, 2020 at 11:42 AM Manas Kale <[hidden email]> wrote:
|
Thanks for the help, Arvid! On Tue, Mar 24, 2020 at 1:30 AM Arvid Heise <[hidden email]> wrote:
|
Free forum by Nabble | Edit this page |