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 }
Другие вопросы по тегам