Hi Navneeth,

You could also apply filtering on the incoming records before windowing.
This might save you some development effort but I do not know full details
of your requirement whether filtering is sufficient.
In general, you can use timers as you suggested as the windowing itself
works in a similar way.

Best,
Andrey

On Thu, Oct 17, 2019 at 11:10 PM Navneeth Krishnan <reachnavnee...@gmail.com>
wrote:

> Hi All,
>
> I'm currently using a tumbling window of 5 seconds using
> TumblingTimeWindow but due to change in requirements I would not have to
> window every incoming data. With that said I'm planning to use process
> function to achieve this selective windowing.
>
> I looked at the example provided in the documentation and I'm not clear on
> how I can implement the windowing.
>
> https://ci.apache.org/projects/flink/flink-docs-stable/dev/stream/operators/process_function.html
>
> Basically what I want is keep collecting data until it reaches 5 seconds
> from the time the first data came in for the key and then forward it to the
> next operator. I will be using ListState to add the entries and then
> register a timer when the list is empty. When the timer runs then collect
> all entries and forward it, also remove entries from the list. Do you guys
> think this will suffice or anything else has to be done?
>
> Also I will have about 1M keys, then would there be any performance impact
> in creating these many timers? I believe the timers are automatically
> removed after they are fired or should I do anything extra to remove these
> timers?
>
> Thanks
>

Reply via email to