`
ordinary
  • 浏览: 80112 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

scala并行集合

阅读更多

 每一个集合都能通过`par`方法 转换为一个并行的集合,并行集合利用多核实现并发操作,如:foreachmapfilter等等。并行集合在`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学习 课件

    "Scala进阶之路-part02-集合.pdf"将带你深入了解Scala的集合库,它是Scala语言的一大亮点。这部分会讲解如何使用List、Set、Map等集合,以及如何进行集合操作,如映射、过滤、折叠等。此外,还会涉及Option和Either...

    快学Scala 课后习题答案集合

    9. **并发与并行**:Scala提供了并行集合,方便地进行并行计算。习题可能需要利用并行集合进行大规模数据处理。 10. **Scalatest测试**:Scala的测试框架Scalatest是编写单元测试和集成测试的好帮手。习题可能要求...

    scala实战高清讲解

    - 并行集合:并行集合可以在多核处理器上并行执行操作,提升计算性能。 6. **模式匹配** - 枚举与case类:Scala中的枚举和case类为模式匹配提供了便利,使代码更简洁、可读性更强。 - 解构:模式匹配允许对复合...

    akka-mapreduce:基于Scala和Akka的map-reduce框架

    我们认为,在某些特定情况下,我们的框架提供了比Hadoop Streaming或Scala并行集合更好的替代方案。 我们的项目针对的情况是,您只能在单个多核计算机上运行单片应用程序,并且输出数据能够容纳可用的RAM内存。 ...

    Scala-2.11.1.zip

    Scala 2.11.x系列的一个主要目标是提升与Java 7和8的兼容性,同时引入对并行和分布式计算的支持。 首先,让我们深入了解Scala的核心概念: 1. **类型系统**:Scala具有强类型系统,支持类型推断,使得代码更加简洁...

    scala-2.11.12.tgz

    5. **并行集合**:Scala的并行集合库在2.11版本中得到了优化,提供了更好的性能和可扩展性,这在处理大数据时尤其重要。 6. **更好的互操作性**:Scala 2.11加强了与Java代码的互操作,包括对Java 8新特性的支持,...

    scala-2.12.14.zip&scala-2.12.11.tgz Linux版本压缩包.rar

    5. **集合库**:Scala的集合库强大且高效,提供了丰富的操作,如map、filter和reduce等。 在压缩包中,我们只看到了"scala-2.12.14"这一条子文件名,这可能是指Scala的二进制分发包,其中包括Scala解释器、编译器和...

    Learning Concurrent Programming in Scala

    - **并行集合**:Scala提供了并行集合,可以在多核处理器上自动并行化数据处理任务。 #### 三、学习目标与内容概述 《Learning Concurrent Programming in Scala》第二版是一本详尽介绍了如何使用Scala构建复杂的...

    scala程序设计中英文非扫描版

    在Scala中,可以使用 Futures 和 Promises 来处理异步操作,或者利用Scala集合库的并行操作,如par方法,轻松地将顺序代码转换为并行代码,从而充分利用多核处理器的计算能力。 压缩包中的两个PDF文件"Scala程序...

    Programming In Scala 中文版及英文版

    这些集合支持函数式操作,提供并行处理能力。 6. **模式匹配**:Scala的模式匹配允许开发者通过`case`语句解构数据,实现复杂的数据分析和控制流。 7. **Actor模型**:Scala内置了Akka框架,支持基于Actor的并发...

    Scala编程 pdf

    6. **集合库**:Scala的集合库非常强大,提供了各种操作和转换方法,支持高效的并行处理。 7. ** Actors模型**:Scala内置了Actors模型,用于并发编程,它基于消息传递,提供了一种安全的处理并发问题的方式。 8. ...

    scala学习笔记整理

    4. **集合库**:Scala的集合库强大且高效,包含List、Set、Map等多种数据结构,并且它们都是惰性求值的。集合操作如map、filter、fold等都是函数式编程的常见操作,能够编写出简洁、易读的代码。 5. ** Trait**:...

    scala入门教程pdf

    5. **集合库**:Scala的集合库非常强大,包含各种序列、映射和集合操作,如map、filter、fold等,支持懒评估和并行操作。 6. **类型系统**:Scala的类型系统允许隐式转换和类型推断,有助于编写简洁的代码。 7. **...

    Scala for Machine Learning

    4. **集合库**:Scala的集合库提供了丰富的数据结构和操作,如flatMap、filter和map,这些都是进行数据预处理和转换的重要工具。熟悉这些操作将简化机器学习流程中的数据处理步骤。 5. **Apache Spark**:Spark是用...

    Scala语言规范.pdf

    6. **集合库**:Scala的集合库设计精良,包含了丰富的操作,如map、filter、fold等,同时支持高效的并行操作,这在大数据处理中尤其重要。 7. **Scala与Spark的关系**:Apache Spark是构建在Scala之上的大数据处理...

    Scala(中文完整版).zip

    Scala引入了Actors模型,用于并发和并行计算。Actors是独立运行的轻量级线程,通过消息传递进行通信。Akka是基于Actor模型的开源框架,提供了高度可伸缩和容错的解决方案。 **8. Scala与Spark** Scala是Apache ...

Global site tag (gtag.js) - Google Analytics