Hi, WindowFunction.apply() will be called once for each window so you should be able to do the setup/teardown in there. open() and close() are called at the start of processing, end of processing, respectively.
Cheers, Aljoscha On Wed, 14 Sep 2016 at 09:04 Swapnil Chougule <the.swapni...@gmail.com> wrote: > Hi Team, > > I am using tumbling window functionality having window size 5 minutes. > I want to perform setup & teardown functionality for each window. I tried > using RichWindowFunction but it didn't work for me. > Can anybody tell me how can I do it ? > > Attaching code snippet what I tried > > impressions.map(new > LineItemAdUnitAggr()).keyBy(0).timeWindow(Time.seconds(300)).apply(new > RichWindowFunction<Tuple2<Tuple2<Integer,Integer>,Long>, Boolean, Tuple, > TimeWindow>() { > > @Override > public void open(Configuration parameters) throws > Exception { > super.open(parameters); > //setup method > } > > public void apply(Tuple key, TimeWindow window, > Iterable<Tuple2<Tuple2<Integer, Integer>, Long>> > input, > Collector<Boolean> out) throws Exception { > //do processing > } > > @Override > public void close() throws Exception { > //tear down method > super.close(); > } > }); > > Thanks, > Swapnil >