如果我们使用.reduce(max)
,那么我们将获得整个RDD中最大的密钥。我知道此reduce将在所有分区上运行,然后减少每个分区发送的项目。但是我们怎样才能找回每个分区的最大密钥呢?为.mapPartitions()
写一个函数?
答案 0 :(得分:2)
你可以:
rdd.mapParitions(iter => Iterator(iter.reduce(Math.max)))
或
rdd.mapPartitions(lambda iter: [max(iter)])
在流媒体中使用此DStream.trasform
。