扩展DStream以基于消息中嵌入的时间戳提供窗口计算

时间:2019-07-16 16:53:56

标签: java apache-spark sliding-window

我正在从Kafka接收消息,每条消息都包含其自己的嵌入式历史时间戳记。

我的目标是能够基于这些历史时间戳使用滑动窗口计算,而不是依靠系统时间(当前时间)。

因此,我想我们需要扩展DStream

 class MyDStreamTimestampAware extends DStream {

    public MyDStreamTimestampAware(StreamingContext ssc, ClassTag evidence$1) {
        super(ssc, evidence$1);
    }

    @Override
    public Duration slideDuration() {
        // TO-DO...
        return null;
    }

    @Override
    public scala.collection.immutable.List<DStream<?>> dependencies() {
        // TO-DO...
        return null;
    }

    @Override
    public Option<RDD> compute(Time validTime) {
        // TO-DO...
        return null;
    }
}

任何想法/计划可以在这里实现什么?

基本上,我们需要购买windowStart < message timestamp < windowEnd

0 个答案:

没有答案