Как создать кодировщик для конструктора типа Option, например, Опция [Int]?
Можно ли использоватьOption[_]
член в классе дела, используемого с API набора данных? например.Option[Int]
Я пытался найти пример, но пока не смог найти. Вероятно, это можно сделать с помощью пользовательского кодировщика (отображение?), Но я пока не могу найти пример для этого.
Это может быть достигнуто с помощью библиотеки Frameless:https://github.com/adelbertc/frameless но должен быть простой способ сделать это с помощью базовых библиотек Spark.
Обновить
Я использую:"org.apache.spark" %% "spark-core" % "1.6.1"
И получая следующую ошибку при попытке использовать Option [Int]:
Невозможно найти кодировщик для типа, хранящегося в наборе данных. Примитивные типы (Int, String и т. Д.) И типы Product (классы дел) поддерживаются путем импорта sqlContext.implicits._ Поддержка сериализации других типов будет добавлена в будущих выпусках.
Обновление решения
Поскольку я создавал прототипы, я просто объявлял класс case внутри функции перед преобразованием в набор данных (в моем случае внутриobject Main {
).
Типы опций работали очень хорошо, когда я переместил класс case за пределы функции Main.