从文本文件中读取矩阵作为向量的RDD

时间:2014-10-28 17:21:55

标签: scala apache-spark

我试图从一个标签分隔的文本文件中逐行读取一个大的双打矩阵。这是在Scala / Apache Spark。

如果我执行以下操作:

val obs = sc.textFile(" path_to_text_file")

我得到了:org.apache.spark.rdd.RDD [String]

然而,要求是具有向量的RDD。你能帮忙吗?

谢谢和问候,

1 个答案:

答案 0 :(得分:3)

这样的事可能适合你:

final val SEPARATOR_AS_REGEX = ";"//Replace it with your separator regex
obs.map(line => line.split(SEPARATOR_AS_REGEX).map(
    //Parse the individual elements
    arr => arr.map(s => parseDouble(s))
  ).map(ds => new DenseVector(ds)))//Convert to the expected type