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))
是否可以通过提供元素的编码器来构建序列编码器?还是有另一种合适的方法?