Obtenga el valor máximo para cada clave en un Spark RDD

¿Cuál es la mejor manera de devolver la fila máxima (valor) asociada con cada clave única en una chispa RDD?

Estoy usando python y probé Math max, mapeo y reducción por claves y agregados. ¿Hay una manera eficiente de hacer esto? Posiblemente un UDF?

Tengo en formato RDD:

[(v, 3),
 (v, 1),
 (v, 1),
 (w, 7),
 (w, 1),
 (x, 3),
 (y, 1),
 (y, 1),
 (y, 2),
 (y, 3)]

Y necesito volver:

[(v, 3),
 (w, 7),
 (x, 3),
 (y, 3)]

Los lazos pueden devolver el primer valor o al azar.

Respuestas a la pregunta(1)

Su respuesta a la pregunta