Hi! If you'd like to aggregate something on the records before time out, then you want to consider using session window (instead of writing your own trigger). However if aggregation is not needed I would prefer using a process function to process watermark by myself, as the registered timer in the window are stored in memory for each record, and if you have a very large data flow this might cause a shortage in heap memory.
Aeden Jameson <aeden.jame...@gmail.com> 于2021年8月19日周四 上午8:07写道: > My use case is that I'm producing a set of measurements by key every > 60 seconds. Currently, this is handled with the usual pattern of > keyBy().window(Tumbling...(60)).process(...) I need to provide the same > output, but as a result of a timeout. The data needed for the timeout > summary will be in the global state for that key. This seems possible by > either using the timer service in the process function without a window > (e.g. keyBy(..).process(..)) or by using a customer trigger. Why choose one > or the other? > > -- > Thanks, > Aeden > > GitHub: https://github.com/aedenj > Linked In: http://www.linkedin.com/in/aedenjameson > >