flink-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Hequn Cheng <chenghe...@gmail.com>
Subject Re: Table API and ProcessWindowFunction
Date Mon, 08 Jul 2019 13:54:26 GMT
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 <pompermaier@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
>

Mime
View raw message