2016-05-25 7 views
1

ich kann nicht herausfinden, warum dies nicht kompiliert:Allgemein Karte Methode für doesnt Funken RDD kompilieren

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

Es gibt diesen Fehler: No ClassTag available for T

Weiß jemand, was darüber beschwert?

Antwort

4

Wenn Compiler für ClassTag fragt, dann ist es wahrscheinlich, was Sie brauchen. Auch SparkContext kann leicht von einer vorhandenen RDD abgerufen werden.

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