0

900万行と85K列の座標行列cmatを作成しました。私はcmat.T * cmat操作を実行したいと思います。Sparkでのブロック行列の乗算の誤差

mtm = bmat.transpose.multiply(bmat) 

トレースバック(最新の呼び出しの最後)::()の乗算を行うとき、私はエラーを得た、しかし

bmat = cmat.toBlockMatrix(1000, 1000) 

: は、私が最初に行列bmatをブロックするようにCMATを変換 ファイル ""、1行目、in AttributeError: 'function'オブジェクトに 'multiply'属性がありません

DataProc、Googleクラウドプラットフォームでは、Sparkバージョンは2.2.0、スケールバージョンは2.11.8です。 エラーの修正方法に関するご意見はありますか?

答えて

1

操作bmat.transposeの結果はblockMatrixではないため、属性はmultiplyではありません。

あなただけ()を逃している:

mtm = bmat.transpose().multiply(bmat) 
+0

おっと、それが問題です。ありがとうございました! – vortex