Ben bir özellik bunu beğendi yazarken:Scala'da, vaka sınıfını genişletmek için jenerikler nasıl atanır?
trait Extractor[T] {
def parse(sc: SparkContext, path: String): RDD[T]
def extract(sc: SparkContext, path: String, output: String): Unit = {
val rdd = parse(sc, path)
val sqlContext = new HiveContext(sc)
import sqlContext.implicits._
SaveUtil.saveAsOrc(rdd.toDF(), output) // error
}
}
Ben bir vaka sınıfına jenerik T
tayin istiyorum:
case class X(uid: String, app: String, tag: String)
case class Y(uid: String, dvc: String, tag: String)
Ben scala için bir acemi değilim. Gizli dönüşüm ve kovaryant çalışmaz gibi görünmüyor. Nasıl?
Teşekkürler @Tzach Zohar çok! Bu problem mükemmel bir şekilde çözüldü! – jyzheng
Bilmekte fayda var, lütfen gelecekteki okuyucuların kolayca bulabilmesi için cevabı + kabul edin –