过去日期的数据时间窗口



>我有过去事件时间的数据集

01-12-2015 01:10:10
01-12-2015 01:10:20
01-12-2015 01:10:30
01-12-2015 01:10:40
.... (millions of records)

我想为此应用时间窗口timeWindow(Time.seconds(30))

我可以有一个TimeExtractor类来获取数据中的EventTime。但是我如何实现getCurrentWatermark方法。它应该获取过去的日期和时间

在您的情况下,最好使用此处提供的TimeStampAssigners之一。

所以我推荐的是这样的东西:

DataStream<MyEvent> stream = ...
DataStream<MyEvent> withTimestampsAndWatermarks =
stream.assignTimestampsAndWatermarks(new AscendingTimestampExtractor<MyEvent>() {
    @Override
    public long extractAscendingTimestamp(MyEvent element) {
        return element.getCreationTime();
    }
});

还要记住设置正确的TimestampCharacteristic

env.setStreamTimeCharacteristic(TimeCharacteristic.EventTime);

相关内容

  • 没有找到相关文章

最新更新