上周调研并介绍了一些高级矩阵操作,本周的内容就是来实现其中的LU分解,目前已经几近完成。实现的思路上参照了尚未正式release的Spark 1.1中分布式SVD奇异值分解的内容,所以先来介绍Spark 1.1中分布式SVD
Spark 1.0.x 版本的SVD分解
目前已经release的1.0.x版本的Spark中,计算一个分布式矩阵的SVD,需要将其转换成本地breeze的DenseMatrix,然后调用SVD的API,这样无疑受限制于单节点的内存,无法计算大规模矩阵。在今年7月23日, 原AMPLab的博士生,现Databricks公司的创始人之一辛湜在微博上发文,表示其公司已经实现了开源的分布式SVD。
这部分内容,也就是我们下面要介绍的尚未release的Spark 1.1版本中计算SVD的方法
Spark 1.1 版本的SVD分解
Spark 1.1版本的SVD分解主要是Databricks的实习生Li Pu完成的,其提交的issue地址