У меня есть RDD[(VertexId, Double)]
, и я хочу отсортировать его по _._2
и соединить индекс (ранг) с этим RDD. Поэтому я могу получить элемент и его ранг на filter
.
В настоящее время я сортирую СДР по sortBy
, но не знаю, как соединить СДР с его рангом. Поэтому я собираю его как последовательность и архивирую с индексом. Но это неэффективно. Мне интересно, есть ли более элегантный способ сделать это.
Код, который я использую прямо сейчас:
val tmpRes = graph.vertices.sortBy(_._2, ascending = false) // Sort all nodes by its PR score in descending order
.collect() // collect to master, this may be very expensive
tmpRes.zip(tmpRes.indices) // zip with index