Flink Java数据类型不兼容

4sup72z8  于 12个月前  发布在  Apache
关注(0)|答案(1)|浏览(160)

我正在用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>?这似乎也给我带来了一个问题

zmeyuzjn

zmeyuzjn1#

windowAll不返回流。通常您还可以指定如何处理窗口,方法是对windowAll的结果调用reduceaggregateapplyprocess,并在此过程中提供适当的函数来处理窗口的内容。
如果你真的想捕获windowAll的结果,它会返回一个AllWindowedStream<T, W extends Window>,所以你可以这样做:

AllWindowedStream<VideoAdEvent, TumblingEventTimeWindow> windowedStream ...

字符串

相关问题