takeordered是否有一个flink等价物来过滤数据流窗口中的前k个项目?

kmbjn2e3  于 2021-06-25  发布在  Flink
关注(0)|答案(1)|浏览(305)
DataStream<Tuple2<String, Long>> result = mappedStream
                .timeWindow(Time.seconds(30))
                .fold(new Tuple2<>("", 0L), new FoldFunction<Pojo, Tuple2<String, Long>>() {
                    @Override
                    public Tuple2<String, Long> fold(Tuple2<String, Long> acc, Pojo event) {
                        acc.f0 = event.getEt();
                        acc.f1 += 1;
                        return acc;
                    }
                });

我有一个数据流,其中有每个keyedstream的计数。我现在只想根据计数筛选前“k”个项目。

e5nqia27

e5nqia271#

您必须在windowapply函数中自己实现排序和top k操作。

相关问题