Как преобразовать CSV файл в Seq [String]? - PullRequest
0 голосов
/ 31 января 2020

У меня есть 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",)

Как конвертировать?

1 Ответ

0 голосов
/ 31 января 2020

В текущей реализации вы можете просто заменить 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...