带有 spark 隐式的参数多态性问题,toDF 的值不是 Seq[T] 的成员

问题描述 投票:0回答:1

这是在 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]
  }
}
scala apache-spark implicit scala-2.12
1个回答
0
投票

添加上下文绑定

org.apache.spark.sql.Encoder

def convertToDf[T <: schemas.QuestionSchema : Encoder]
© www.soinside.com 2019 - 2024. All rights reserved.