簡體   English   中英

如何在Scala中按值對RDD數據(鍵,值)進行排序?

[英]how can I sort RDD data (key, value) by value in Scala?

我已經嘗試過像這樣的方法“ sortBy ”:

ranks.sortBy(x=> x._2, false);

但是,等級的值未排序,細節顯示在圖片中。 我失敗的解決方案

那么我應該如何糾正我的解決方案? 為什么會失敗? 感謝幫助!

我認為在您的情況下, ranks是一個var

當您調用ranks.sortBy... ,您並未將其分配給任何變量-您只是在要求編譯器對內容進行sortBy並將其丟棄。

您只需要將此變量分配給一個變量,它就可以工作( ranks = ranks.sortBy(...)val something = ranks.sortBy(...) )。 這是REPL中的一個簡單示例:

scala> var l = List(3, 1, 2)
l: List[Int] = List(3, 1, 2)

scala> l.sortBy(x => x)
res1: List[Int] = List(1, 2, 3)

scala> l // will be the same as before
res2: List[Int] = List(3, 1, 2)

scala> l = l.sortBy(x => x)
l: List[Int] = List(1, 2, 3)

scala> l // will have changed
res3: List[Int] = List(1, 2, 3)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM