我有csv文件(userId:int,MovieId:Int,rating:double(,我想将其转换为Seq[String]。
val value:RDD[String] = sc.textFile("file:///usr/local/data.csv")
val data: RDD[MatrixEntry] =
sc.parallelize(value).map {
line => {
val fields = line.split(":")
val i = fields(0).toLong
val j = fields(1).toLong
val r = fields(2).toDouble
MatrixEntry(i, j,r)
}
}
我想做这样的事情
val raw: Seq[String] = Seq("0,1,1.0", "0,3,3.0",)
如何转换?
使用当前的实现,您只需替换MatrixEntry
并在流程结束时添加.collect.toSeq
,例如:
val value:RDD[String] = sc.textFile("file:///usr/local/data.csv")
val data: Seq[String] =
sc.parallelize(value).map {
line => {
val fields = line.split(":")
val i = fields(0).toLong
val j = fields(1).toLong
val r = fields(2).toDouble
"%d,%d,%f".format(i, j, r)
}
}.collect().toSeq