Scala 隐式类不适用于泛型类型

Scala 隐式类不适用于泛型类型,scala,apache-spark,Scala,Apache Spark,我试图使用隐式类来简化向配置单元表中加载数据的过程(使用Spark) 比如说:如果这是我的数据, case类名称(名称:String,年龄:Int) val lst=列表(名称(“名称1”,24),名称(“名称2”,25)) 我想像这样将数据加载到表中lst.loadToTable(db=“somedb”,table=“sometable”) 以下是我迄今为止使用隐式类实现上述功能所做的工作, objecttablehelper{ 隐式类TableUtil[X:ClassTag](lst:

我试图使用隐式类来简化向配置单元表中加载数据的过程(使用Spark)

比如说:如果这是我的数据,

case类名称(名称:String,年龄:Int)
val lst=列表(名称(“名称1”,24),名称(“名称2”,25))
我想像这样将数据加载到表中
lst.loadToTable(db=“somedb”,table=“sometable”)

以下是我迄今为止使用
隐式类
实现上述功能所做的工作,

objecttablehelper{
隐式类TableUtil[X:ClassTag](lst:Seq[X]){
def loadToTable(db:String,table:String)(隐式spark:SparkSession):单位={
println(“表->”+表)
spark.catalog.tableExists(s“${db}.${table}”)匹配{
大小写正确=>
println(s“存在表。不创建新表:$Table”)
大小写错误=>
println(s“表不存在。正在创建新表:$Table”)
//创建数据库
val ddl=s“如果不存在${db}则创建数据库”
println(“ddl->”+ddl)
spark.sql(ddl)
//创建数据帧
导入spark.implicits_
val df=spark.sparkContext.parallelize(lst).toDF()//编译器错误
//TODO:挂起:创建表并加载数据
}
}
}
}
问题是,我遇到了这个编译器错误

错误:(27,66)值toDF不是org.apache.spark.rdd.rdd[X]的成员
val df=spark.sparkContext.parallelize(lst.toDF)()

问题似乎是
toDF()
在使用泛型类型时不起作用(在我的代码中
lst
Seq[X]
)。你知道需要做些什么来纠正这个问题吗?

最后我能够修复代码(不知道为什么我的问题被否决了。如果指定了原因会更有意义)。感谢@Worakarn Isaratham的指导。代码需要对指定的内容进行一些额外的更改

import org.apache.spark.sql.SparkSession
导入scala.reflect.ClassTag
导入scala.reflect.runtime.universe_
对象表助手{
//修正是X
println(s“存在表。不创建新表:$Table”)
//TODO:挂起:加载数据
大小写错误=>
println(s“表不存在。正在创建新表:$Table”)
//创建数据库
val ddl=s“如果不存在${db}则创建数据库”
println(“ddl->”+ddl)
spark.sql(ddl)
//创建数据帧
导入spark.implicits_
val df=spark.sparkContext.parallelize(lst.toDF)()
测向显示(100,假)
//TODO:挂起:创建表并加载数据
}
}
}
}

[X您需要隐式编码器[X],如中所述