Generate a Spark StructType / Schema from a case class
You can do it the same way SQLContext.createDataFrame
does it:
import org.apache.spark.sql.catalyst.ScalaReflection
val schema = ScalaReflection.schemaFor[TestCase].dataType.asInstanceOf[StructType]
I know this question is almost a year old but I came across it and thought others who do also might want to know that I have just learned to use this approach:
import org.apache.spark.sql.Encoders
val mySchema = Encoders.product[MyCaseClass].schema