Hi Flavio, Nice to hear your ideas on Table API!
Could you be more specific about your requirements? A detailed scenario would be quite helpful. For example, do you want to emit multi records through the collector or do you want to use the timer? BTW, Table API introduces flatAggregate recently(both non-window flatAggregate and window flatAggregate) and will be included in the near coming release-1.9. The flatAggregate can emit multi records for a single group. More details here[1][2]. Hope this can solve your problem. Best, Hequn [1] https://ci.apache.org/projects/flink/flink-docs-master/dev/table/tableApi.html#row-based-operations [2] https://ci.apache.org/projects/flink/flink-docs-master/dev/table/udfs.html#table-aggregation-functions On Mon, Jul 8, 2019 at 6:27 PM Flavio Pompermaier <pomperma...@okkam.it> wrote: > Hi to all, > from what I understood a ProcessWindowFunction can only be used in the > Streaming API. > Is there any plan to port them also in the Table API (in the near future)? > I'd like to do with Table API the equivalent of: > > final DataStream<MyPojoEvent> events = env.addSource(src); > events.filter(e -> e.getCode() != null) > .keyBy(event -> Integer.valueOf(event.getCode())) > .window(TumblingProcessingTimeWindows.of(Time.minutes(1))) > .process(new ProcessWindowFunction<MyPojoEvent, MyPojoEvent, Integer, > TimeWindow>() {.....}); > > Best, > Flavio >