Apache flink takeOrdered从数据流中的窗口筛选前k个项目是否有flink等价物?

Apache flink takeOrdered从数据流中的窗口筛选前k个项目是否有flink等价物?,apache-flink,flink-streaming,Apache Flink,Flink Streaming,我有一个数据流,其中我有每个keyedstream的计数。现在,我只想根据计数筛选排名前“k”的项目。您必须自己在窗口应用功能中实现排序和排名前k的操作 DataStream<Tuple2<String, Long>> result = mappedStream .timeWindow(Time.seconds(30)) .fold(new Tuple2<>("", 0L), new FoldFu

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

您必须自己在窗口应用功能中实现排序和排名前k的操作

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;
                    }
                });