嗨,我有以下代码尝试从Seq [T]创建DataFrame
case class CaseConvert[T: TypeTag](a: T)
def createDf[T: TypeTag](data: Seq[T]): DataFrame = {
spark.createDataFrame(data.map(CaseConvert[T])
}
当通过传递类型执行上面的createDf方法时,请说Seq [java.sql.Timestamp],它无法显示以下错误
UnsupportedOperaionException:不支持TypeTag [java.sql.Timestamp]类型的模式 . 我想我必须为CaseConvert类创建编码器,但不知道如何使用Scala的复杂泛型来完成它 . 请指导我是Spark和Scala的新手 .
1 回答
像这样添加
Encoder
:在这里就够了 .
Products
的隐含解析将完成其余的工作 .