如何在 Apache Flink 中对数据集进行排序



我有一个 DataSet> 形式的元组数据集。我希望在字段字符串上对"整个"数据集进行排序,然后仅获取文件中的 Long 值。Flink 确实提供了排序分区,但这在这里没有帮助,因为我需要完全对数据集进行排序。

如果将

并行度设置为 1,也可以使用 sortPartition() 对完整的DataSet进行排序:

DataSet<Tuple2<String, Long>> data = ...
DataSet<Tuple2<String, Long>> sorted = data
  .sortPartition(0, Order.ASCENDING).setParallelism(1); // sort in one partition
DataSet<Long> longs = sorted.map(new LongExtractor());  // map to extract long

相关内容

  • 没有找到相关文章

最新更新