首页 > 解决方案 > 用于将结构类型转换为案例类的 scala 宏

问题描述

我如何定义一个转换 ie 的 spark structtype 的 scala 宏

val foo = new StructType ()
    .add ("foo", LongType)
    .add ("bar", LongType)

到一个案例类:

MyCaseClass(foo:Long, bar:Long)

编辑

trait Schema {
    def schema: Seq[MyCol]
  }

  case class MyCol(name: String, colType: AbstractDataType, nullabilty: Boolean)

  case class FooSchema() extends Schema {
    override def schema: Seq[MyCol] = Seq(MyCol("foo", IntegerType, false), MyCol("bar", DoubleType, false))
  }

标签: scalagenericsmacroscase-class

解决方案


推荐阅读