如何获取每个Spark Partition的最大Key?

How to Get the Largest Key of each Spark Partition?

如果我们使用.reduce(max)那么我们将得到整个RDD中最大的key。我知道这个 reduce 将对所有分区进行操作,然后减少每个分区发送的那些项目。但是我们怎样才能取回每个分区的最大键呢?为 .mapPartitions()?

写一个函数

您可以:

rdd.mapParitions(iter => Iterator(iter.reduce(Math.max)))

rdd.mapPartitions(lambda iter: [max(iter)])

在流式传输中将此与 DStream.trasform 一起使用。