Dil*_*lee 10 hadoop scala apache-spark
我是新来的火花和斯卡拉.我需要将结果计数元组(如(课程,计数))按降序排序.我把它放在下面
val results = ratings.countByValue()
val sortedResults = results.toSeq.sortBy(_._2)
Run Code Online (Sandbox Code Playgroud)
但它仍然无法正常工作.以上述方式,它将按升序对结果进行排序.但我需要按降序排列.任何人都可以帮助我.
结果如下
(History, 12100),
(Music, 13200),
(Drama, 143000)
Run Code Online (Sandbox Code Playgroud)
但是我需要像下面那样显示它
(Drama, 143000),
(Music, 13200),
(History, 12100)
Run Code Online (Sandbox Code Playgroud)
谢谢
mrs*_*vas 10
你差不多完成了!您需要为降序添加其他参数,因为默认情况下RDD
sortBy()
方法按升序排列元素.
val results = ratings.countByValue()
val sortedRdd = results.sortBy(_._2, false)
//Just to display results from RDD
println(sortedRdd.collect().toList)
Run Code Online (Sandbox Code Playgroud)
您可以使用
.sortWith(_._2 >_._2)
Run Code Online (Sandbox Code Playgroud)
在大多数情况下,调用toSeq并不是一个好主意,因为驱动程序需要将其放入内存中,并且在较大的数据集上可能会用完内存。我想介绍一下是可以的。
归档时间: |
|
查看次数: |
9946 次 |
最近记录: |