Как получить Encoder [Seq [S]], если неявный Encoder для S не доступен? - PullRequest
2 голосов
/ 10 октября 2019

Неявные кодеры, предоставляемые Spark, позволяют легко получить кодеры для последовательностей примитивов или типов продуктов, т. Е.

import spark.implicits._
val mySeqEncoder = newSequenceEncoder[Seq[Float]]
val myTupleSeqEncoder = newSequenceEncoder[Seq[(Float, Timestamp)]]

работают без каких-либо проблем.

Но что, если естьнеявный кодер для типа последовательности доступен? Например, предположим, что мне нужен кодировщик для Seq[(Timestamp, Row)]. Я могу получить кодировщик для каждого элемента, используя

import org.apache.spark.sql.Encoders

// schema = the schema of the row to encode
Encoders.tuple[Timestamp, Row](Encoders.TIMESTAMP, RowEncoder(schema))

Есть ли способ построить кодировщик последовательности, предоставив кодировщик элементов? Или есть другой подходящий подход?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...