如何获取每个Spark分区的最大密钥?

时间:2016-12-07 15:43:30

标签: apache-spark pyspark apache-spark-sql spark-streaming

如果我们使用.reduce(max),那么我们将获得整个RDD中最大的密钥。我知道此reduce将在所有分区上运行,然后减少每个分区发送的项目。但是我们怎样才能找回每个分区的最大密钥呢?为.mapPartitions()写一个函数?

1 个答案:

答案 0 :(得分:2)

你可以:

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

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

在流媒体中使用此DStream.trasform