そのため、データセット API を使用するために取り組んでいるプロジェクトを再フォーマットしようとしており、エンコード エラーに関する問題が発生しています。私が読んだことから、プリミティブ値の配列をデータセットに格納できるはずだと思います。ただし、次のクラスではエンコード エラーが発生します。
case class InvertedIndex(partition:Int, docs:Array[Int], indices:Array[Long], weights:Array[Double])
val inv = RDD[InvertedIndex]
val invertedIndexDataset = sqlContext.createDataset(inv)
invertedIndexDataset.groupBy(x => x.partition).mapGroups {
//...
}
誰かがここで何が問題なのかを理解するのを手伝ってくれませんか? データセットは現在、プリミティブの配列を処理できませんか、それともそれらを機能させるために何か追加する必要がありますか?
ありがとうございました
編集1:
ここに私が得ている完全なエラーがあります
Error:(223, 84) 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.
val similarities = invertedIndexDataset.groupByKey(x => x.partition).mapGroups {