在keyby、window和window apply之后flink没有结果

zynd9foi  于 2021-06-26  发布在  Flink
关注(0)|答案(1)|浏览(438)

我试着在我的数据流上做一些flink操作。但我没有得到任何结果。有人知道为什么吗。谢谢你的帮助。

KeyedStream<Tuple2<String, Long>, Tuple> stream1 = stream.keyBy(0);

stream1.print(); //Here I have results

DataStream<Tuple3<Integer, String, Date>> stream2 = stream1.window(TumblingEventTimeWindows.of(Time.seconds(15))).apply(new WindowFunction<Tuple2<String, Long>, Tuple3<Integer, String, Date>, Tuple, TimeWindow>() {
                    @Override
                    public void apply(Tuple tuple, TimeWindow window, Iterable<Tuple2<String, Long>> input, Collector<Tuple3<Integer, String, Date>> out) {
                        int counter = 0;
                        for (Tuple2<String, Long> ignored : input) {
                            counter++;
                        }
                        out.collect(new Tuple3<>(
                                counter,
                                tuple.get(0), //I also manually extracted the key from the Tuple, but that did also not work
                                new Date(window.getEnd())));
                    }

        });

stream2.print(); //here I do not have any resulat

flink版本:1.10无错误

u0sqgete

u0sqgete1#

多亏了dominik wosiń我找到了解决办法。
我提取了时间戳,但忘记设置时间特征。我忘了下面这句话:

env.setStreamTimeCharacteristic(TimeCharacteristic.EventTime);

相关问题