我正在寻找一种在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中已经支持乘法,但这不是一个好主意,因为它在通信方面的成本要高得多。