【发布时间】:2018-01-11 04:33:28
【问题描述】:
使用 BoundedOutOfOrdernessTimestampExtractor 时,触发器不会触发。但是,当使用具有类似水印的自定义时间戳提取器时,触发器会触发。
示例代码如下: 1.Assigner作为匿名类,效果很好
AssignerWithPeriodicWatermarks<Tuple2<Rule, T>> assigner = new AssignerWithPeriodicWatermarks<Tuple2<Rule, T>>() {
@Override
public long extractTimestamp(Tuple2<Rule, T> element, long previousElementTimestamp) {
return System.currentTimeMillis();
}
@Override
public final Watermark getCurrentWatermark() {
return new Watermark(System.currentTimeMillis()-100);
}
};
2.BoundedOutOfOrdernessTimestampExtractor 分配器不起作用
AssignerWithPeriodicWatermarks<Tuple2<Rule, T>> assigner = new BoundedOutOfOrdernessTimestampExtractor<Tuple2<Rule, T>>(Time.milliseconds(100)) {
@Override
public long extractTimestamp(Tuple2<Rule, T> element) {
return System.currentTimeMillis();
}
};
你觉得这些方法有什么不同吗?
【问题讨论】:
标签: apache-flink flink-streaming