私はRDD [Array [Array [Double]]のRDDを持っています。基本的に各要素は行列です。私は要素の賢明な追加を行う必要があります。スパークrddの要素を追加
のでRDDの最初の要素は
1 2
3 4
ある場合と第2の要素は、私はZIPに見ている私は
6 8
10 12
を有する必要が終わりに
5 6
7 8
あります私はこの場合に使用できるかどうかはわかりません。
私はRDD [Array [Array [Double]]のRDDを持っています。基本的に各要素は行列です。私は要素の賢明な追加を行う必要があります。スパークrddの要素を追加
のでRDDの最初の要素は
1 2
3 4
ある場合と第2の要素は、私はZIPに見ている私は
6 8
10 12
を有する必要が終わりに
5 6
7 8
あります私はこの場合に使用できるかどうかはわかりません。
はい、あなたは、zipファイルを使用できますが、列のため、一度行とのために1回、2回、それを使用する必要があります:
val rdd = sc.parallelize(List(Array(Array(1.0,2.0),Array(3.0,4.0)),
Array(Array(5.0,6.0),Array(7.0,8.0))))
rdd.reduce((a,b) => a.zip(b).map {case (c,d) => c.zip(d).map{ case (x,y) => x+y}})
このメソッドは 'RDD [Array [Array]] []]'には有効ですが、 'RDD [RDD [Array [Double]]]'([SPARK-5063](https://issues.apache.org/ jira/browse/SPARK-5063))。 OPと同様の問題があると思います。基本的には、RowMatrixなどの2つの分散行列を減算/追加する必要があります。ただし、マトリックスのサイズが大きいため、収集できません。 – Christopher
あなたが期待される出力を追加することができますか? –