我有一个 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