如何获取每个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
一起使用。
如果我们使用.reduce(max)
那么我们将得到整个RDD中最大的key。我知道这个 reduce 将对所有分区进行操作,然后减少每个分区发送的那些项目。但是我们怎样才能取回每个分区的最大键呢?为 .mapPartitions()
?
您可以:
rdd.mapParitions(iter => Iterator(iter.reduce(Math.max)))
或
rdd.mapPartitions(lambda iter: [max(iter)])
在流式传输中将此与 DStream.trasform
一起使用。