Warum kann bei der Erstellung eines Datensatzes der benutzerdefinierten Fallklasse "Encoder für den in einem Datensatz gespeicherten Typ nicht gefunden werden"?

Spark 2.0 (final) mit Scala 2.11.8. Die folgende super simple code ergibt die Zusammenstellung Fehler Error:(17, 45) 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.

import org.apache.spark.sql.SparkSession

case class SimpleTuple(id: Int, desc: String)

object DatasetTest {
  val dataList = List(
    SimpleTuple(5, "abc"),
    SimpleTuple(6, "bcd")
  )

  def main(args: Array[String]): Unit = {
    val sparkSession = SparkSession.builder.
      master("local")
      .appName("example")
      .getOrCreate()

    val dataset = sparkSession.createDataset(dataList)
  }
}

InformationsquelleAutor der Frage clay | 2016-07-29

Schreibe einen Kommentar