У меня есть следующий класс дел:
case class Person(name: String, lastname: Option[String] = None, age: BigInt) {}
И следующий JSON:
{ "name": "bemjamin", "age" : 1 }
Когда я пытаюсь преобразовать мой фрейм данных в набор данных:
spark.read.json("example.json")
.as[Person].show()
Это показывает мне следующую ошибку:
Исключение в потоке "main" org.apache.spark.sql.AnalysisException:
не может разрешить 'lastname
' для указанных столбцов ввода: [age, name];
Мой вопрос таков: если моя схема относится к классу дел и определяет, что фамилия является необязательной, не должно ли as () выполнять преобразование?
Я легко могу это исправить, используя .map, но мне хотелось бы знать, есть ли другая более чистая альтернатива этому.