Если я хочу сохранить алгебраический тип данных (ADT) (т. Е. Запечатанную иерархию свойств Scala) в Spark DataSet, какова лучшая стратегия кодирования?
Например, если у меня есть ADT, в котором типы листьев хранят разные типы данных:
sealed trait Occupation
case object SoftwareEngineer extends Occupation
case class Wizard(level: Int) extends Occupation
case class Other(description: String) extends Occupation
Как лучше всего построить:
org.apache.spark.sql.DataSet[Occupation]