I think it has smth to do with parallelism and I probably do not have clear
understanding how parallelism works in flink but in this example:
StreamExecutionEnvironment env =
StreamExecutionEnvironment.getExecutionEnvironment();
DataStreamSource<Long> source = env.addSource(new SourceFunction<Long>() {
@Override
public void run(SourceContext<Long> ctx) throws Exception {
LongStream.range(0, 29).forEach(ctx::collect);
}
@Override
public void cancel() {
}
});
source.countWindowAll(10).apply(new AllWindowFunction<Long, Long,
GlobalWindow>() {
@Override
public void apply(GlobalWindow window, Iterable<Long> values,
Collector<Long> out) throws Exception {
for (Long value : values) {
if (value % 3 == 0) {
out.collect(value);
}
}
}
}).print();
env.execute("yoyoyo");
Why my output is like this:
4> 9
1> 0
1> 12
3> 6
3> 18
2> 3
2> 15
? I.e. where id s value of 24 for example? I expect to see it. What am I
doing wrong?