Предположим, у меня есть два разных потока данных, используя время события.
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())
Так что теперь у меня есть два разных потока данных, мойвопрос в том, являются ли метки времени и водяные знаки отдельными для каждого потока данных или это централизованные часы?
Я делаю некоторые другие сложные оконные операции и переназначение меток времени и водяных знаков, и они не создают оконных данных, поэтому у меня возникло ощущение, что водяные знаки или метки времени являются проблемой.