Есть ли какое-либо преимущество использования потока Akka для чтения файла csv построчно при использовании scala .io.Source? - PullRequest
0 голосов
/ 06 мая 2020

Мне нужно обработать большой CSV-файл, и я не могу загрузить весь файл в память за один go. Я планирую обрабатывать файл построчно. Я запутался между двумя технологиями: потоком Akka и Scala Source API.

поток Akka предоставляет хороший способ и API для потоковой передачи файла CSV, но я могу сделать это, используя Scala Source API следующим образом :

val file = scala.io.Source.fromFile("file.csv")
file.getLines

getLines возвращает итератор, через который мы можем получить доступ к одной строке за раз. Он также не загружает в память весь файл.

Итак, единственное различие, которое я заметил при использовании этих двух технологий: Akka stream передает строку неблокирующим образом, в то время как Source API делает это в режиме блокировки.

Если есть какие-либо другие потенциальные отличия и преимущества одной технологии перед другой, пожалуйста, дайте мне знать. Мне это будет очень полезно.

...