pyspark中基于rdd的操作中键值的最大值

我对基于rdd的操作不熟悉。我正在尝试了解键值的最大值。我有这样的rdd:

RDD = sc.parallelize([("A",2,1),("C",8,5),("B",3,4),("A",7,5,8),6,10),10,6)])

我必须根据键找到最多第二个元素。我希望看到这样的输出;

("A",5)
("B",6)
("C",10)

我尝试了newrdd = RDD.reduceByKey(lambda x: max(x[2]))。它输出一些错误。

lluozzi 回答:pyspark中基于rdd的操作中键值的最大值

无论如何,如果有人需要,我首先会找到配对的rdd。

pairedrdd = RDD.map(lambda x: (x[0],x[2]))

然后newrdd = pairedrdd.reduceByKey(lambda x,y: max(x,y))

lis = newrdd.collect()

for i in lis:
    print(i)
本文链接:https://www.f2er.com/3088429.html

大家都在问