Scala spark RDD的通用映射方法无法编译
我不明白为什么这不能编译:Scala spark RDD的通用映射方法无法编译,scala,apache-spark,rdd,Scala,Apache Spark,Rdd,我不明白为什么这不能编译: implicit class debugHelper[T](ar: RDD[T]) { def debug_restrainer(implicit sc: SparkContext): RDD[T] = { if (debug_size.isDefined) sc.parallelize(ar.take(debug_size.get)) else ar } } 它给出了这样一个错误:没有可用于T的类标记 有人知道它在抱怨什么吗?如果编
implicit class debugHelper[T](ar: RDD[T]) {
def debug_restrainer(implicit sc: SparkContext): RDD[T] = {
if (debug_size.isDefined) sc.parallelize(ar.take(debug_size.get)) else ar
}
}
它给出了这样一个错误:没有可用于T的类标记
有人知道它在抱怨什么吗?如果编译器要求类标记,那么它很可能就是您所需要的。此外,SparkContext还可以轻松地从现有RDD中检索
import scala.reflect.ClassTag
implicit class debugHelper[T](ar: RDD[T])(implicit val t: ClassTag[T]) {
def debug_restrainer: RDD[T] = {
if (debug_size.isDefined)
ar.sparkContext.parallelize(ar.take(debug_size.get))
else ar
}
}
若编译器要求类标记,那个么它很可能就是您所需要的。此外,SparkContext还可以轻松地从现有RDD中检索
import scala.reflect.ClassTag
implicit class debugHelper[T](ar: RDD[T])(implicit val t: ClassTag[T]) {
def debug_restrainer: RDD[T] = {
if (debug_size.isDefined)
ar.sparkContext.parallelize(ar.take(debug_size.get))
else ar
}
}