I try to make some Flink operations on my datastream. But I do not get any result. Does anyone has an idea why not. Thanks for your help.
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 Version: 1.10 No Errors
Thanks to Dominik Wosiński I found the solution.
I extracted the timestamp but forgot to set the TimeCharacteristic. I forgot the following line:
env.setStreamTimeCharacteristic(TimeCharacteristic.EventTime);