Récupérer top n dans chaque groupe d'un DataFrame dans pyspark

Il y a un DataFrame dans pyspark avec les données ci-dessous:

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

Ce que j'attends, c'est de revenir 2 enregistrements dans chaque groupe avec le même user_id, qui doivent avoir le score le plus élevé. En conséquence, le résultat devrait ressembler à la suivante:

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

Je suis vraiment nouveau à pyspark, quelqu'un pourrait-il me donner un extrait de code ou de portail de la documentation liée à ce problème? Un grand merci!

source d'informationauteur KAs