这是在 scala 2.12.10 和 spark 2.4.8 上。我正在尝试使用一种方法定义一个特征,该方法可以将某个案例类的数组转换为数据帧。类型参数意味着是一些扩展 QuestionSchema 的模式(案例类)因此
T <: schemas.QuestionSchema
。我尝试导入 spark implicits 以便我可以在转换为序列后将数据转换为数据帧,但它似乎不起作用,任何人都可以看到这里有什么问题以及另一种方法吗?
trait DataStore {
var data1 = Array.empty[Data1Type]
var data2 = Array.empty[Data2Type]
def convertToDf[T <: schemas.QuestionSchema](res: Array[T])(implicit spark: SparkSession): DataFrame = {
import spark.implicits._
res.toSeq.toDF() // value toDF is not a member of Seq[T]
}
}
添加上下文绑定
org.apache.spark.sql.Encoder
def convertToDf[T <: schemas.QuestionSchema : Encoder]