基于 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]
),如果需要的话。
如何为两个用例创建一个隐式 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]
),如果需要的话。