У меня есть RDD как следующийPYSPARK: использование сортировки с reduceByKey
dataSource = sc.parallelize([("user1", (3, "blue")), ("user1", (4, "black")), ("user2", (5, "white"), ("user2", (3, "black")), ("user2", (6, "red")), ("user1", (1, "red"))])
Я хочу использовать reduceByKey
найти Top 2 цвета для каждого пользователя, так что выход был бы РДД нравится:
sc.parallelize([("user1", ["black", "blue"]), ("user2", ["red", "white"])])
поэтому мне нужно уменьшить по клавише, а затем отсортировать значения каждой клавиши, т. Е. (Число, цвет) по числу и вернуть верхние цвета.
Я не хочу использовать groupBy
. Если есть что-то лучше, чем reduceByKey
кроме groupBy
, было бы здорово :)