Recupere los primeros n en cada grupo de un DataFrame en pyspark

Hay un DataFrame en pyspark con los siguientes datos:

user_id object_id score
user_1  object_1  3
user_1  object_1  1
user_1  object_2  2
user_2  object_1  5
user_2  object_2  2
user_2  object_2  6

Lo que espero es devolver 2 registros en cada grupo con el mismo user_id, que deben tener la puntuación más alta. En consecuencia, el resultado debería tener el siguiente aspecto:

user_id object_id score
user_1  object_1  3
user_1  object_2  2
user_2  object_2  6
user_2  object_1  5

Soy realmente nuevo en pyspark, ¿alguien podría darme un fragmento de código o portal a la documentación relacionada con este problema? ¡Muchas gracias!

Respuestas a la pregunta(3)

Su respuesta a la pregunta