apache flink事件时间处理窗口未调用processfunction

时间:2019-02-22 15:59:59

标签: apache-flink flink-streaming

开窗正在进行无限循环之类的事情,我正在处理后打印数据流,但看起来根本没有达到这一点。

下面是我的伪代码。

Datastream env = StreamExecutionEnvironment.getExecutionEnvironment()    
env.setStreamTimeCharacteristic(TimeCharacteristic.EventTime)

Datastream stream = env.addSource() .map(mapping to java object) 
    .filter(filter for specific type of events) 
    .assignTimestampsAndWatermarks(
         new BoundedOutOfOrdernessTimestampExtractor(Time.seconds(2)){})

Datastream processedStream = stream .keyBy(...)  
    .window(TumblingEventTimeWindows.of(Time.seconds(10))) .reduce()

processedStream.print()

我添加了日志以缩小功能打印。日志是通过减少功能打印的。但流未得到打印。

流媒体源数据是历史数据,即超过2个月的数据。如果历史数据流式传输,是否还需要设置其他任何内容?

任何输入都会有很大帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用Flink Web UI检查水印,以查看当前水印是否已超前以触发窗口。有关水印的更多信息,请参见the flink training site