Spark中blockMatrix中的逐元素乘法

时间:2016-11-02 21:03:46

标签: apache-spark apache-spark-mllib

我正在寻找一种在Spark BlockMatrix中实现以下问题的好方法: 假设我有一个n * m的矩阵A,n很大,而m不是那么大,由BlockMatrix表示。我有另一个矩阵B只有一列,大小是n * 1,也是BlockMatrix。现在我想将A乘B的这两个矩阵乘以非常接近于元素乘法的方式。矩阵A的第一行将乘以矩阵B中的第一个元素,依此类推...... 所以结果仍然是n * m矩阵。操作就像B充当了A的重量。

我认为关键是如何将相应的块映射到一起。

我知道我可以将B作为n * n的对角矩阵,然后B * A就是结果。 Spark中已经支持乘法,但这不是一个好主意,因为它在通信方面的成本要高得多。

0 个答案:

没有答案