Я думаю, что ReduByKey поможет здесь.
Помните, что при использовании reduByKey или любого другого преобразования или действия «По ключу» вы можете определить ключ как кортеж.
rdd = sc.parallelize([(2,10482422,0.18),
(2,10482422,0.4),
(2,10482423,0.15),
(2,10482423,0.43),
(2,10482424,0.18),
(2,10482424,0.49),
(2,10482425,0.21),
(2,10482425,0.52),
(2,10482426,0.27),
(2,10482426,0.64),
(2,10482427,0.73)])
print rdd.map(lambda x: ((x[0], x[1]), x[2]))\
.reduceByKey(lambda x, y: x if x >= y else y)\
.collect()
результат:
[((2, 10482427), 0.73),
((2, 10482425), 0.52),
((2, 10482426), 0.64),
((2, 10482423), 0.43),
((2, 10482424), 0.49),
((2, 10482422), 0.4)]