txt文件(1.txt)和列分隔符是每行的空格
内容如下(事实上,有很多行...):
1 2 3 4
a b c d
1 1 1 1
1 1 2 2
预期:
1 2 3 4
a b c d
现在,我可以通过以下代码获得正确的输出:
val lines = io.Source.fromFile("/root/1.txt").getLines
lines.filterNot(_.split("\\s+").distinct.length<4).foreach(println)
但是,更有效的方法来实现它?
例如:多线程或akka实现它,thx。
答案 0 :(得分:0)
如果要同时处理文件,一个选项是使用并行集合。因此,具有大量记录的文件将与多个线程并行处理。
注意:确保堆空间的大小相应,以支持非常大的文件。也可以使用第三方库提供的并行迭代器,如本answer
中所述val lines = scala.io.Source.fromFile("/root/1.txt").getLines.toSeq.par
lines.filterNot(_.split("\\s+").distinct.length<4).foreach(println)