2014-10-28 128 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