/ / Scala - przeczytaj plik w kolumnie - scala, csv, mapreduce

Scala - odczytuj plik kolumnowo - scala, csv, mapreduce

Jestem nowy w Scali. Mam plik z następującymi danymi: 1: 2: 3 2: 4: 5 8: 9: 6

Muszę przeczytać ten plik kolumnowo (1: 2: 8) (2: 4: 9) (3: 5: 6), aby znaleźć minimum każdej kolumny. Jak odczytywać go kolumnami i umieszczać w osobnych tablicach?

Odpowiedzi:

2 dla odpowiedzi № 1

Przeczytaj plik w rzędzie, podziel wiersze na kolumny, a następnie użyj transpose:

scala> val file="1:2:3 2:4:5 8:9:6"
file: String = 1:2:3 2:4:5 8:9:6

scala> file.split(" ")
res1: Array[String] = Array(1:2:3, 2:4:5, 8:9:6)

scala> file.split(" ").map(_.split(":"))
res2: Array[Array[String]] = Array(Array(1, 2, 3), Array(2, 4, 5), Array(8, 9, 6))

scala> file.split(" ").map(_.split(":")).transpose
res3: Array[Array[String]] = Array(Array(1, 2, 8), Array(2, 4, 9), Array(3, 5, 6))

scala> file.split(" ").map(_.split(":")).transpose.map(_.min)
res4: Array[String] = Array(1, 2, 3)