gpt4 book ai didi

scala - 并行遍历文件中的行(Scala)?

转载 作者:行者123 更新时间:2023-12-03 08:02:13 24 4
gpt4 key购买 nike

我知道Scala中的并行集合。他们很方便!但是,我想遍历一个文件的行,该文件对于并行内存太大。例如,我可以创建线程并在“扫描程序”上设置锁,但是如果我可以运行以下代码,那就太好了:

Source.fromFile(path).getLines.par foreach { line =>

不幸的是
error: value par is not a member of Iterator[String]

在这里完成某种并行性的最简单方法是什么?现在,我将阅读一些内容并进行并行处理。

最佳答案

您可以使用分组轻松地将迭代器切成块,然后将块加载到内存中,然后进行并行处理。

val chunkSize = 128 * 1024
val iterator = Source.fromFile(path).getLines.grouped(chunkSize)
iterator.foreach { lines =>
lines.par.foreach { line => process(line) }
}

我认为,这样的事情是最简单的方法。

关于scala - 并行遍历文件中的行(Scala)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6751463/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com