2014-10-28 73 views
1

我正在尝试从一个标签分隔的文本文件中逐行读取一个大的双精度矩阵。这在Scala/Apache Spark中。从文本文件中读取矩阵作为向量的RDD

如果我做到以下几点:

VAL实测值= sc.textFile( “path_to_text_file”)

我得到OBS:org.apache.spark.rdd.RDD [字符串]

然而,要求有一个向量的RDD。你会帮忙吗?

感谢和问候,

+0

你有什么大概的详细信息,并且希望能帮助什么。 (分隔符字符,是行列式还是列式的;双列向量的RDD,但是是行列式还是列式的?) – 2014-10-28 17:27:02

+0

非常感谢,Gábor。我编辑了相应的问题... – 2014-10-28 17:37:08

+0

更具体地说,我得到以下错误: – 2014-10-28 19:11:58

回答

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 
+0

Hey,do你知道如何在pyspark中使用这个逻辑吗?我想在pyspark中创建一个向量的RDD,以处理多元统计分析部分。有什么建议么? – SRS 2015-06-30 22:33:58