Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala spark RDD的通用映射方法无法编译_Scala_Apache Spark_Rdd - Fatal编程技术网

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
  }
}