【发布时间】:2017-10-18 10:18:13
【问题描述】:
我正在使用 apache spark 对 csv 文件应用相关性,当加载数据时,我必须跳过第一行作为数据集中的列的标题,否则我无法加载数据。
我得到了计算的相关性,但是当我得到相关矩阵时,我无法将列名称作为标题添加到新矩阵中。如何获取带有标题的矩阵?这是我尝试过的:
import org.apache.spark.mllib.linalg.{ Vector, Vectors }
import org.apache.spark.mllib.stat.Statistics
import org.apache.spark.mllib.linalg.Matrix
import org.apache.spark.rdd.RDD
val data = sc.textFile(strfilePath).mapPartitionsWithIndex {
case (index, iterator) => if (index == 0) iterator.drop(1) else iterator
}
val inputMatrix = data.map { line =>
val values = line.split(",").map(_.toDouble)
Vectors.dense(values)
}
val correlationMatrix = Statistics.corr(inputMatrix, "pearson")
【问题讨论】:
标签: scala csv apache-spark apache-spark-mllib