flo*_*ins 4 apache-spark apache-spark-mllib
Spark MLLib中的相关结果是org.apache.spark.mllib.linalg.Matrix类型的。(请参阅http://spark.apache.org/docs/1.2.1/mllib-statistics.html#correlations)
val data: RDD[Vector] = ...
val correlMatrix: Matrix = Statistics.corr(data, "pearson")
Run Code Online (Sandbox Code Playgroud)
我想将结果保存到文件中。我怎样才能做到这一点?
这是将矩阵保存到hdfs并指定分隔符的简单有效的方法。
(因为.toArray是列主格式,所以使用了转置。)
val localMatrix: List[Array[Double]] = correlMatrix
.transpose // Transpose since .toArray is column major
.toArray
.grouped(correlMatrix.numCols)
.toList
val lines: List[String] = localMatrix
.map(line => line.mkString(" "))
sc.parallelize(lines)
.repartition(1)
.saveAsTextFile("hdfs:///home/user/spark/correlMatrix.txt")
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3900 次 |
最近记录: |