如何在Spark Scala中使用5个元素对元组的RDD进行排序?

Car*_*ter 6 sorting scala apache-spark rdd

如果我有一个带有5个元素的元组的RDD,例如RDD(Double,String,Int,Double,Double)

如何使用第五个元素有效地对此RDD进行排序?

我试图将这个RDD映射到键值对并使用sortByKey,但看起来sortByKey非常慢,它比我收集这个RDD慢,并且在收集的数组上使用了sortWith.为什么会这样?

非常感谢你.

Sha*_*nds 9

你可以sortBy直接在以下方面采取行动RDD:

myRdd.sortBy(_._5) // Sort by 5th field of each 5-tuple
Run Code Online (Sandbox Code Playgroud)

还有额外的可选参数来定义排序顺序("升序")和分区数.