标签: apache-spark apache-spark-mllib svd
我正在使用scala运行RowMatrix.computeSVD,在UI中,似乎只有一个阶段“treeAggregate”在群集上运行,之后应用程序主机的UI在应用程序继续执行computeSVD时不显示任何内容。所以我假设只有“treeAggregate”在集群上运行,其余部分在驱动程序上运行。
有没有办法让所有计算SVD在群集上运行?驱动程序通常具有有限的资源,而computeSVD需要很长时间才能生成9446 * 9446的矩阵。
答案 0 :(得分:0)
不幸的是,如果不修改私有API,就不可能修改策略。
根据列数和k Spark自动调整计算策略,只有当两个数字都很大并且k与列数相比相对较高时才使用具有多次传递的完全分布式模式
k
乍一看,您可以在nCol / 3和ncol / 2之间保持k来触发分布式计算。
nCol / 3
ncol / 2