如何在Google云数据流上有效地进行大型矩阵乘法?

时间:2016-03-23 23:46:04

标签: google-cloud-dataflow

我们需要将一个大矩阵与一维向量相乘。大矩阵稀疏。在第二种情况下,我们需要乘以两个大的矩阵,这两个矩阵都是稀疏的。在第三种情况下,我们需要乘以两个密集的大矩阵。

Apache Spark似乎提供了矩阵的内置数据类型(包括稀疏矩阵的专用数据类型)以及用于矩阵线性代数(乘法,加法,转置等)的非常丰富的库集。 。)

对于上述三种情况,如何有效地对Google Cloud DataFlow进行矩阵乘法(或矩阵的其他线性代数运算)?

2 个答案:

答案 0 :(得分:3)

Dataflow目前不支持本机矩阵操作。也就是说,应该可以像spark一样实现这些操作。

对于稀疏矩阵,应该可以通过(x,y)坐标键,然后执行GroupByKey

对于密集矩阵,您可以将矩阵划分为块,使用GroupByKey对块进行分组,然后使用本机库(如BLAS)在块上实现乘法。

有关如何在Spark中实现块操作的更多信息,请参阅BlockMatrix

答案 1 :(得分:0)

以下method应适用于数据流。