Recuperar n top em cada grupo de um DataFrame no pyspark
Há um DataFrame no pyspark com os dados abaixo:
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
O que eu espero é retornar 2 registros em cada grupo com o mesmo user_id, que precisam ter a pontuação mais alta. Consequentemente, o resultado deve ter a seguinte aparência:
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
Eu sou realmente novo no pyspark. Alguém poderia me fornecer um trecho de código ou portal para a documentação relacionada desse problema? Muito obrigado!