макрос scala для преобразования structtype в класс case - PullRequest
0 голосов
/ 26 июня 2018

Как я могу определить макрос scala, который преобразует структурный тип spark, например,

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

в класс дел:

MyCaseClass(foo:Long, bar:Long)

edit

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))
  }
...