如何将csv文件转换为Seq[字符串]?



我有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

最新更新