私はmapGroups
を使用して集計を実行しようとしていますが、これはSparseMatrixを列の1つとして返し、列を合計します。Spark DatasetでTypedColumnを作成して操作するにはどうすればいいですか?
マップされた行のスキーマがcase class
で、列名を提供しました。行列の列はorg.apache.spark.mllib.linalg.Matrix
です。集計(select(sum("mycolumn")
)を実行する前にtoDF
を実行しないと、1つのタイプの不一致エラー(required: org.apache.spark.sql.TypedColumn[MySchema,?]
)が発生します。 toDF
を含めると、別のタイプの不一致エラー:cannot resolve 'sum(mycolumn)' due to data type mismatch: function sum requires numeric types, not org.apache.spark.mllib.linalg.MatrixUDT
が表示されます。だからそれを行う正しい方法は何ですか?
ありがとうございました。あなたは追加問題の解決法を提案できますか?それが今私が立ち往生している場所です。 – Emre
行列が密であるか疎な行列がありますか?サイズは何ですか? – zero323
かなり小さく疎です。ノードに収まるのに十分小さい。 – Emre