假设我有两个不同的数据流,使用事件时间。
class TSWM implements AssignerWithPunctuatedWatermarks<POJO> {
long maxTS = Long.MIN_VALUE;
@Override
public Watermark checkAndGetNextWatermark(POJO event, long l) {
maxTS = Math.max(maxTS, event.TS);
return new Watermark(getMaxTimestamp());
}
@Override
public long extractTimestamp(POJO event, long l) {
maxTS = Math.max(maxTS, event.TS);
return event.TS;
}
}DataStream<POJO> ds1 = ... .assignTimestampsAndWatermarks(new TSWM())
DataStream<POJO> ds2 = ... .assignTimestampsAndWatermarks(new TSWM())
所以现在我有了两个不同的数据流,我的问题是,时间戳和水印是分离到,每个数据存储单元,还是一个集中式时钟?
我正在做一些其他复杂的加窗和重新分配时间戳和水印,它不会产生加窗的数据,所以我有一种感觉水印或时间戳是问题。
发布于 2019-02-19 20:10:54
从某种意义上说,水印是“全局的”,但有以下警告:
https://stackoverflow.com/questions/54773963
复制相似问题