Кодировщик набора данных для коллекций scala

Я получаю исключение при попытке прочитать набор данных из s3. Класс дела компании содержит набор с классом дела сотрудника.

Exception in thread "main" java.lang.UnsupportedOperationException: No Encoder found for Set[com.model.company.common.Employee]
- field (class: "scala.collection.immutable.Set", name: "employees")
- field (class: "com.model.company.Company", name: "company")

Я пробовал с крио:

implicit def myDataEncoder[T]: Encoder[Set[Employee]] = Encoders.kryo[scala.collection.immutable.Set[Employee]

но тоже не работает. Знаете ли вы, как преобразовать коллекцию scala в набор данных?

Код:

val sqlContext = sparkSession.sqlContext
import sqlContext.implicits._

val records = sparkSession.read.json(s"s3a://${config.input.fullPath}").as[Company]

person Przemek    schedule 11.07.2017    source источник
comment
Вы можете добавить код, который вы пробовали?   -  person mrsrinivas    schedule 11.07.2017
comment
Является ли неявным по объему?   -  person Yuval Itzchakov    schedule 11.07.2017
comment
см. мой код выше   -  person Przemek    schedule 11.07.2017
comment
stackoverflow.com/questions/45020230/   -  person Przemek    schedule 11.07.2017


Ответы (1)


Изменить из списка, установить -> последовательность

Дополнительную информацию о типе данных набора данных вы можете найти здесь: https://spark.apache.org/docs/latest/sql-programming-guide.html#data-types

person Przemek    schedule 13.07.2017