Hi,

Flink can add events to mulitple windows. For instance, the built-in
sliding windows are doing this.
You can address your use case by implementing a custom WindowAssigner [1].

Best, Fabian

[1]
https://ci.apache.org/projects/flink/flink-docs-release-1.4/dev/stream/operators/windows.html#window-assigners

2018-05-03 8:39 GMT+02:00 Padarn Wilson <padarn.wil...@grab.com>:

> Hi all,
>
> I'm trying to figure out what the "Flink" way of achieving what I'd like
> to is.
>
> Imagine I have the following three events in my stream
>
> event1: {"start_time": 0, "end_time": 1, "value": "a"}
> event2: {"start_time": 0, "end_time": 2, "value": "b"}
> event3: {"start_time": 1, "end_time": 2, "value": "c"}
>
> From this I would like to create tumbling windows of length 1, that
> collect all the events which overlap that window and make a list from the
> "values" seen, so the result would be two windows
>
> window1 [0, 1] = {"a", "b"}
> window2 [1, 2] ={"b", "c"}
>
> However my understanding is that because my original stream only has three
> events, no matter how I create windows, I cannot have event 2 in both
> windows.
>
> I can think of how this could be done by mapping each event into a
> separate event for the windows that it should fall into, i.e we split event
> 2 into
>
> event2a: {"start_time": 0, "end_time": 1, "value": "b"}
> event2b: {"start_time": 1, "end_time": 2, "value": "b"}
>
> But this seems awfully cumbersome when the logic is more complicated.
>
> Is there a natural way to do this window overlapping windows?
>
>
>
> *Grab is hiring. Learn more at **https://grab.careers
> <https://grab.careers/>*
>
> By communicating with Grab Inc and/or its subsidiaries, associate
> companies and jointly controlled entities (“Grab Group”), you are deemed to
> have consented to processing of your personal data as set out in the
> Privacy Notice which can be viewed at https://grab.com/privacy/
>
> This email contains confidential information and is only for the intended
> recipient(s). If you are not the intended recipient(s), please do not
> disseminate, distribute or copy this email and notify Grab Group
> immediately if you have received this by mistake and delete this email from
> your system. Email transmission cannot be guaranteed to be secure or
> error-free as any information therein could be intercepted, corrupted,
> lost, destroyed, delayed or incomplete, or contain viruses. Grab Group do
> not accept liability for any errors or omissions in the contents of this
> email arises as a result of email transmission. All intellectual property
> rights in this email and attachments therein shall remain vested in Grab
> Group, unless otherwise provided by law.
>

Reply via email to