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