Одновременное чтение и обработка файла построчно в Scala
Предположим, мне нужно применить две функцииf: String => A
а такжеg: A => B
к каждой строке в большом текстовом файле, чтобы в конечном итоге создать списокB
.
Поскольку файл большой иf
а такжеg
дорогие, я хотел бы сделать обработку одновременно. Я могу использовать «параллельные коллекции» и сделать что-то вродеio.Source.fromFile("data.txt").getLines.toList.par.map(l => g(f(l))
но он не выполняет чтение файла,f
, а такжеg
одновременно.
Как лучше всего реализовать параллелизм в этом примере?