3
スパークは、しかし、このコードはうまく動作します、次のコード行を配列[文字列]にマッピングする際にエンコーダがないのはなぜですか?
val digital2 = sqlContext.read.text("path").as[String]
.map(line => line.split(delimiter))
.map(lineSplit => {
new MyType(lineSplit(0), lineSplit(1), lineSplit(2), lineSplit(3)
, lineSplit(4).toInt, lineSplit(5).toInt, lineSplit(6).toInt, lineSplit(7).toInt
)
})
のために私のコンパイル時にエラー
Error:(49, 13) Unable to find encoder for type stored in a Dataset. Primitive types (Int, String, etc) and Product types (case classes) are supported by importing sqlContext.implicits._ Support for serializing other types will be added in future releases.
.map(line => line.split(delimiter))
^
を与えている私は何が起こっているかを、以下のいないよ
val digital = sqlContext.read.text("path").as[String]
.map(line => {
val lineSplit = line.split(delimiter)
new MyType(lineSplit(0), lineSplit(1), lineSplit(2), lineSplit(3)
, lineSplit(4).toInt, lineSplit(5).toInt, lineSplit(6).toInt, lineSplit(7).toInt
)
}
。誰か説明できますか?