Spark - 在驱动程序上执行的MLlib computeSVD

时间:2016-08-25 19:25:30

标签: apache-spark apache-spark-mllib svd

我正在使用scala运行RowMatrix.computeSVD,在UI中,似乎只有一个阶段“treeAggregate”在群集上运行,之后应用程序主机的UI在应用程序继续执行computeSVD时不显示任何内容。所以我假设只有“treeAggregate”在集群上运行,其余部分在驱动程序上运行。

有没有办法让所有计算SVD在群集上运行?驱动程序通常具有有限的资源,而computeSVD需要很长时间才能生成9446 * 9446的矩阵。

1 个答案:

答案 0 :(得分:0)

不幸的是,如果不修改私有API,就不可能修改策略。

根据列数和k Spark自动调整计算策略,只有当两个数字都很大并且k与列数相比相对较高时才使用具有多次传递的完全分布式模式

乍一看,您可以在nCol / 3ncol / 2之间保持k来触发分布式计算。