我正在用Apache Flink构建一个流处理器。
简单地说,我不知道为什么这条线:
SingleOutputStreamOperator<VideoAdEvent> windowedStream = videoAdEventDataStream
.windowAll(TumblingEventTimeWindows.of(Time.seconds(5)));
字符串
编译时抛出这个异常
Compilation failure
[ERROR] incompatible types: no instance(s) of type variable(s) W exist so that org.apache.flink.streaming.api.datastream.AllWindowedStream<com.test.flink.videoadsinfluxsink.VideoAdEvent,W> conforms to org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator<com.test.flink.videoadsinfluxsink.VideoAdEvent>
型
我是否应该将W
作为参数传入:SingleOutputStreamOperator<VideoAdEvent, W>
?这似乎也给我带来了一个问题
1条答案
按热度按时间zmeyuzjn1#
windowAll
不返回流。通常您还可以指定如何处理窗口,方法是对windowAll
的结果调用reduce
、aggregate
、apply
或process
,并在此过程中提供适当的函数来处理窗口的内容。如果你真的想捕获
windowAll
的结果,它会返回一个AllWindowedStream<T, W extends Window>
,所以你可以这样做:字符串