【发布时间】:2016-01-23 19:43:51
【问题描述】:
我陷入了火花,我遇到了 Vectors 的问题 导入 org.apache.spark.mllib.linalg.{Vectors, Vector}
我的程序的输入是一个包含 RDD(Vector) 输出的文本文件: 数据集.txt:
[-0.5069793074881704,-2.368342680619545,-3.401324690974588]
[-0.7346396928543871,-2.3407983487917448,-2.793949129209909]
[-0.9174226561793709,-0.8027635530022152,-1.701699021443242]
[0.510736518683609,-2.7304268743276174,-2.418865539558031]
那么,尝试做的是:
val rdd = sc.textFile("/workingdirectory/dataset")
val data = rdd.map(s => Vectors.dense(s.split(',').map(_.toDouble)))
我有错误,因为它读取 [0.510736518683609 作为数字。 是否存在任何形式来直接加载存储在文本文件中的向量而不执行第二行?如何在地图阶段删除“[”? 我真的是火花新手,对不起,如果这是一个非常明显的问题。
【问题讨论】:
标签: scala apache-spark apache-spark-mllib