Obtenha o valor máximo para cada chave em um Spark RDD

Qual é a melhor maneira de retornar a linha máxima (valor) associada a cada chave exclusiva em um RDD spark?

Estou usando python e tentei o Math max, mapeando e reduzindo por chaves e agregados. Existe uma maneira eficiente de fazer isso? Possivelmente uma UDF?

Eu tenho no formato RDD:

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

E eu preciso retornar:

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

Os laços podem retornar o primeiro valor ou aleatoriamente.

questionAnswers(1)

yourAnswerToTheQuestion