《Scala机器学习》一一第3章 使用Spark和MLlib

简介:

第3章 使用Spark和MLlib

上一章介绍了在全局数据驱动的企业架构中的什么地方以及如何利用统计和机器学习来处理知识,但接下来不会介绍Spark和MLlib的具体实现,MLlib是Spark顶层的机器学习库。Spark是大数据生态系统中相对较新的成员,它基于内存使用而不是磁盘来进行优化。数据仍然可以根据需要转储到磁盘上,但Spark只有在明确指示这样做或活动数据集不适合内存时才会执行转储。如果节点出现故障或由于某些原因从内存中擦除信息,Spark会利用存储的信息来重新计算活动数据集。这与传统的MapReduce方法不同,传统的MapReduce方法会将每个map或reduce的数据保留到磁盘上。
Spark特别适合于在分布式节点集上的迭代或统计机器学习算法,并且可以对其进行扩展。对于Spark,唯一的问题是节点中可用的总内存空间和磁盘空间,以及网络速度。本章将介绍Spark架构和实现的基础知识。
可简单修改配置参数来管理Spark在单个节点上或跨一组节点执行数据管道。当然,这种灵活性以稍微复杂的框架和更长的设置时间为代价,但框架的并行性非常好。由于目前大多数笔记本电脑已经是多线程且足够强大,因此这样的配置通常不会有大问题。
本章将介绍以下主题:
安装和配置Spark
Spark架构的基础知识,并解释为什么它会绑定Scala语言
为什么Spark是继顺序编程和Hadoop MapReduce之后的下一代技术
Spark组件
Scala和Spark中单词计数程序的实现
基于流的单词计数程序的实现
如何从分布式文件或分布式数据库中创建Spark的数据框(DataFrame)
Spark性能调整

相关文章
|
SQL 消息中间件 分布式计算
如何查看spark与hadoop、kafka、Scala、flume、hive等兼容版本【适用于任何版本】
如何查看spark与hadoop、kafka、Scala、flume、hive等兼容版本【适用于任何版本】
666 0
如何查看spark与hadoop、kafka、Scala、flume、hive等兼容版本【适用于任何版本】
|
2月前
|
分布式计算 Java Scala
spark 与 scala 的对应版本查看、在idea中maven版本不要选择17,弄了好久,换成11就可以啦
spark 与 scala 的对应版本查看、.在idea中maven版本不要选择17,弄了好久,换成11就可以啦
90 2
|
2月前
|
分布式计算 数据处理 Scala
Spark 集群和 Scala 编程语言的关系
Spark 集群和 Scala 编程语言的关系
26 0
|
3月前
|
分布式计算 Java Scala
Spark编程语言选择:Scala、Java和Python
Spark编程语言选择:Scala、Java和Python
Spark编程语言选择:Scala、Java和Python
|
11月前
|
存储 分布式计算 Scala
Spark-RDD 键值对的操作(Scala版)
Spark-RDD 键值对的操作(Scala版)
|
11月前
|
SQL 存储 JSON
人人都懂Spark-SQL基础操作(Scala版)
人人都懂Spark-SQL基础操作(Scala版)
|
11月前
|
JSON 分布式计算 算法
Spark-编程进阶(Scala版)
Spark-编程进阶(Scala版)
|
11月前
|
JSON 分布式计算 Hadoop
Spark-数据读取与保存(Scala版)
Spark-数据读取与保存(Scala版)
|
11月前
|
存储 缓存 分布式计算
Spark RDD编程基础(Scala版)
Spark RDD编程基础(Scala版)