使用Akka流逐行读取csv文件比使用scala.io.Source有什么好处吗?

问题描述 投票:0回答:1

我需要处理一个大的CSV文件,而且我不能一次性把整个文件加载到内存中。我打算逐行处理这个文件。我对Akka流和Scala Source API这两种技术感到困惑。

Akka流提供了一个很好的方法和API来流式处理一个CSV文件,但是我也可以使用Scala源码API来处理,如下所示。

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

getLines返回一个迭代器,我们可以通过这个迭代器一次访问一行。它也不会在内存中加载完整的文件。

因此,我注意到使用这两种技术的唯一区别是:Akka流以非阻塞的方式流式传输行,而Source API以阻塞的方式进行。

如果有任何其他潜在的差异和一个技术比另一个技术的优势,请告诉我。这对我来说真的很有帮助。

scala csv iterator akka-stream
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.