每一个集合都能通过`par`方法 转换为一个并行的集合,并行集合利用多核实现并发操作,如:foreach,map,filter等等。并行集合在`scala.collection.parallel`.
有下面这些并行集合:
-
parallel arrays - scala.collection.parallel.mutable.ParArray
-
parallel
ranges - scala.collection.parallel.immutable.ParRange
-
parallel
hash maps - scala.collection.parallel.mutable.ParHashMap
-
parallel
hash sets - scala.collection.parallel.mutable.ParHashSet
-
parallel
hash tries - scala.collection.parallel.immutable.{ParHashMap, ParHashSet}
-
parallel
vectors - scala.collection.parallel.immutable.ParVector
方法seq 把并行集合转换为和它一致的一个序列集合,该方法的效率是(O(1)).
并行集合的使用:
例如:在一个非常大的字符串中过滤一些元素,在调用process方法。
非并行集合的写法
val result = data.filter(line => line.contains("keyword")).map(line
=> process(line))
并行集合的写法
val result = data.par.filter(line => line.contains("keyword")).map(line => process(line))
分享到:
相关推荐
"Scala进阶之路-part02-集合.pdf"将带你深入了解Scala的集合库,它是Scala语言的一大亮点。这部分会讲解如何使用List、Set、Map等集合,以及如何进行集合操作,如映射、过滤、折叠等。此外,还会涉及Option和Either...
9. **并发与并行**:Scala提供了并行集合,方便地进行并行计算。习题可能需要利用并行集合进行大规模数据处理。 10. **Scalatest测试**:Scala的测试框架Scalatest是编写单元测试和集成测试的好帮手。习题可能要求...
- 并行集合:并行集合可以在多核处理器上并行执行操作,提升计算性能。 6. **模式匹配** - 枚举与case类:Scala中的枚举和case类为模式匹配提供了便利,使代码更简洁、可读性更强。 - 解构:模式匹配允许对复合...
我们认为,在某些特定情况下,我们的框架提供了比Hadoop Streaming或Scala并行集合更好的替代方案。 我们的项目针对的情况是,您只能在单个多核计算机上运行单片应用程序,并且输出数据能够容纳可用的RAM内存。 ...
Scala 2.11.x系列的一个主要目标是提升与Java 7和8的兼容性,同时引入对并行和分布式计算的支持。 首先,让我们深入了解Scala的核心概念: 1. **类型系统**:Scala具有强类型系统,支持类型推断,使得代码更加简洁...
5. **并行集合**:Scala的并行集合库在2.11版本中得到了优化,提供了更好的性能和可扩展性,这在处理大数据时尤其重要。 6. **更好的互操作性**:Scala 2.11加强了与Java代码的互操作,包括对Java 8新特性的支持,...
5. **集合库**:Scala的集合库强大且高效,提供了丰富的操作,如map、filter和reduce等。 在压缩包中,我们只看到了"scala-2.12.14"这一条子文件名,这可能是指Scala的二进制分发包,其中包括Scala解释器、编译器和...
- **并行集合**:Scala提供了并行集合,可以在多核处理器上自动并行化数据处理任务。 #### 三、学习目标与内容概述 《Learning Concurrent Programming in Scala》第二版是一本详尽介绍了如何使用Scala构建复杂的...
在Scala中,可以使用 Futures 和 Promises 来处理异步操作,或者利用Scala集合库的并行操作,如par方法,轻松地将顺序代码转换为并行代码,从而充分利用多核处理器的计算能力。 压缩包中的两个PDF文件"Scala程序...
这些集合支持函数式操作,提供并行处理能力。 6. **模式匹配**:Scala的模式匹配允许开发者通过`case`语句解构数据,实现复杂的数据分析和控制流。 7. **Actor模型**:Scala内置了Akka框架,支持基于Actor的并发...
6. **集合库**:Scala的集合库非常强大,提供了各种操作和转换方法,支持高效的并行处理。 7. ** Actors模型**:Scala内置了Actors模型,用于并发编程,它基于消息传递,提供了一种安全的处理并发问题的方式。 8. ...
4. **集合库**:Scala的集合库强大且高效,包含List、Set、Map等多种数据结构,并且它们都是惰性求值的。集合操作如map、filter、fold等都是函数式编程的常见操作,能够编写出简洁、易读的代码。 5. ** Trait**:...
5. **集合库**:Scala的集合库非常强大,包含各种序列、映射和集合操作,如map、filter、fold等,支持懒评估和并行操作。 6. **类型系统**:Scala的类型系统允许隐式转换和类型推断,有助于编写简洁的代码。 7. **...
4. **集合库**:Scala的集合库提供了丰富的数据结构和操作,如flatMap、filter和map,这些都是进行数据预处理和转换的重要工具。熟悉这些操作将简化机器学习流程中的数据处理步骤。 5. **Apache Spark**:Spark是用...
6. **集合库**:Scala的集合库设计精良,包含了丰富的操作,如map、filter、fold等,同时支持高效的并行操作,这在大数据处理中尤其重要。 7. **Scala与Spark的关系**:Apache Spark是构建在Scala之上的大数据处理...
Scala引入了Actors模型,用于并发和并行计算。Actors是独立运行的轻量级线程,通过消息传递进行通信。Akka是基于Actor模型的开源框架,提供了高度可伸缩和容错的解决方案。 **8. Scala与Spark** Scala是Apache ...