我想实现类似于http://benfradet.github.io/blog/2017/06/14/Deriving-Spark-Dataframe-schemas-with-Shapeless的功能,但没有无形的
def generateStructTypeFromCaseClass[T <: Product](): StructType =
ScalaReflection.schemaFor[T].dataType.asInstanceOf[StructType]
无法编译:
No TypeTag available for T
我该如何解决?
答案 0 :(得分:3)
您可以按以下方式向您的方法添加隐式TypeTag[T]
参数:
def generateStructTypeFromCaseClass[T <: Product]()(implicit tag: TypeTag[T]): StructType =
ScalaReflection.schemaFor[T].dataType.asInstanceOf[StructType]
此参数将由编译器自动填充。有关详细信息,请参见here。