我试图将case类作为变量传递给scalareflection,以获取模式。
我能够用case类名成功地运行代码,当我将case类赋给一个变量并将其传递给scalareflection时,我得到了一个错误。
这是我的密码
import org.apache.spark.sql.catalyst.ScalaReflection
import org.apache.spark.sql.types.StructType
case class Emp (empId: Integer, empName: String)
val myschema = ScalaReflection.schemaFor[Emp].dataType.asInstanceOf[StructType]
println(myschema)
val empModel = Emp
val myschema2 = ScalaReflection.schemaFor[empModel].dataType.asInstanceOf[StructType]
Error: error: not found: type empModel
val myschema2 = ScalaReflection.schemaFor[empModel].dataType.asInstanceOf[StructType]
任何建议都是有用的!
1条答案
按热度按时间zfycwa2u1#
类型同义词(=别名)应与关键字一起引入
type
```type empModel = Emp
val myschema2 = ScalaReflection.schemaFor[empModel].dataType.asInstanceOf[StructType]
object App {
type empModel = Emp
val myschema2 = ScalaReflection.schemaFor[empModel].dataType.asInstanceOf[StructType]
}