Scala - отсутствует кодер для типа, хранящегося в наборе данных
Я пытаюсь запустить следующую команду в Scala 2.2
val x_test0 = cn_train.map( { case row => row.toSeq.toArray } )
И я продолжаю получать следующую ошибку
error: Unable to find encoder for type stored in a Dataset. Primitive types (Int, String, etc) and Product types (case classes) are supported by importing spark.implicits._ Support for serializing other types will be added in future releases.
Я уже импортировал implicits._ с помощью следующих команд:
val spark = SparkSession.builder.getOrCreate()
import spark.implicits._
1 ответ
Сообщение об ошибке говорит вам, что он не может найти Encoder
для разнородного Array
чтобы сохранить его в Dataset
, Но вы можете получить RDD
из Array
вот так:
cn_train.rdd.map{ row => row.toSeq.toArray }