基于 Numeric 的通用 SortByValue

generic SortByValue based on Numeric

如何为两个用例创建一个隐式 class?

  implicit class SortableByIntValue(rdd:RDD[(String,Int)]){
    def sortByValue = rdd.sortBy(_._2)
  }
  implicit class SortableByDoubleValue(rdd:RDD[(String,Double)]){
    def sortByValue = rdd.sortBy(_._2)
  }

试试这个:

import scala.reflect.ClassTag

implicit class SortableByValue[N : Numeric : ClassTag](rdd:RDD[(String,N)]){
  def sortByValue = rdd.sortBy(_._2)
}

这应该可以扩展到 Ordering 可用的任何类型([O : Ordering] 而不是 [N : Numeric]),如果需要的话。