Hi, one possible approach could be that you have a process function before the sink. Process function is aware of watermarks, so it can collect and buffer window results until it sees a watermark. This is the signal that all results for windows with an end time smaller than the watermark are complete. They can then be aggregated and send to the sink.
Best, Stefan > Am 22.06.2017 um 15:15 schrieb Ahmad Hassan <ahmad.has...@gmail.com>: > > Hi All, > > I am using categoryID as a keyby attribute for creating keyed stream from a > product event stream. Keyed stream then creates time windows for each > category. However, when the window time expires, i want to write the output > data of all the products in all all categories in a single atomic operation > collectively. Is there a way to call a single sink function for all the > windows with same start and end time. Or is there a way in flink to know that > all windows with same end time have finished processing their sink function? > > Currently, each window calls sink function individually. > > cheers, >