You can do this by writing a custom trigger or evictor.
Hi all,
We have a Flink job which aggregates sales volume and GMV data of each site on a daily basis. The code skeleton is shown as follows.
```
sourceStream
.map(message -> JSON.parseObject(message, OrderDetail.class))
.keyby("siteId")
.window(TumblingProcessingTimeWindows.of(Time.days(1), Time.hours(-8)))
.trigger(ContinuousProcessingTimeTrigger.of(Time.seconds(1)))
.aggregate(new VolumeGmvAggregateFunc());
```
The window is triggered every second in order to refresh the data displayed on a real-time dashboard. Is there some way to output only those sites’ data which changed in 1 second period? Currently we’ve got 1000+ sites, so frequently emitting all aggregation records seems somewhat expensive.
BR, Qi Kang