《Scala机器学习》一一3.1 安装Spark

3.1 安装Spark
如果读者还没有安装过Spark,可从http://spark.apache.org/downloads.html下载预先编译好的Spark包。在写本书时的发布版本为1.6.1。

图3-1 本章建议的下载链接http://spark.apache.org/downloads.html
读者也可通过下面的链接下载完整的源代码来构建Spark:

命令将下载必要的依赖并在Spark目录中创建spark-2.0.0-SNAPSHOT-bin-alex-spark-build-2.6-yarn.tgz文件,其版本是2.0.0,这是在写本书时最新的发行版本。一般来说,如果不是对最新功能感兴趣,不建议从主分支进行构建。如果需要一个发行版本,可以从相应标签迁出(checkout)。通过git branch -r命令可以获得有效版本的完整列表。spark*.tgz文件是在有Java JRE的计算机上运行Spark所需的所有文件。
发行版本都带有docs/building-spark.md文件,它介绍了用于构建Spark的其他选项,包括增量Scala编译器zinc。完整的Scala 2.11支持的功能会出现在Spark 2.0.0的下一个版本中。

时间: 2024-07-29 18:57:12

《Scala机器学习》一一3.1 安装Spark的相关文章

《Scala机器学习》一一导读

前 言 这是一本关于机器学习的书,它以Scala为重点,介绍了函数式编程方法以及如何在Spark上处理大数据.九个月前,当我受邀写作本书时,我的第一反应是:Scala.大数据.机器学习,每一个主题我都曾彻底调研过,也参加了很多的讨论,结合任何两个话题来写都具有挑战性,更不用说在一本书中结合这三个主题.这个挑战激发了我的兴趣,于是就有了这本书.并不是每一章的内容都像我所希望的那样圆满,但技术每天都在快速发展.我有一份具体的工作,写作只是表达我想法的一种方式. 下面先介绍机器学习.机器学习经历了翻天

《Scala机器学习》一一

3.1 安装Spark 如果读者还没有安装过Spark,可从http://spark.apache.org/downloads.html下载预先编译好的Spark包.在写本书时的发布版本为1.6.1. 图3-1 本章建议的下载链接http://spark.apache.org/downloads.html读者也可通过下面的链接下载完整的源代码来构建Spark: 命令将下载必要的依赖并在Spark目录中创建spark-2.0.0-SNAPSHOT-bin-alex-spark-build-2.6-

《Spark Cookbook 中文版》一1.2 使用二进制文件安装Spark

1.2 使用二进制文件安装Spark Spark既可以通过源码安装也可以通过预编译二进制安装,下载地址为http://spark.apache.org.对于标准使用场景来说,二进制安装已经足够了,这里将主要介绍通过二进制文件安装Spark. 1.2.1 准备工作 本书的所有教程都是适用于Ubuntu Linux系统的,不过应该也适用于任何POSIX环境.在安装Spark之前,首先需要安装好Java,并且配置好JAVA_HOME环境变量. 在Linux/Unix系统中,文件和目录的位置是有特定标准

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

第3章 使用Spark和MLlib 上一章介绍了在全局数据驱动的企业架构中的什么地方以及如何利用统计和机器学习来处理知识,但接下来不会介绍Spark和MLlib的具体实现,MLlib是Spark顶层的机器学习库.Spark是大数据生态系统中相对较新的成员,它基于内存使用而不是磁盘来进行优化.数据仍然可以根据需要转储到磁盘上,但Spark只有在明确指示这样做或活动数据集不适合内存时才会执行转储.如果节点出现故障或由于某些原因从内存中擦除信息,Spark会利用存储的信息来重新计算活动数据集.这与传统

《Scala机器学习》一一3.2 理解Spark的架构

3.2 理解Spark的架构 并行化是将工作负载划分为在不同线程或不同节点上执行的子任务.下面介绍Spark实现并行化的原理,以及它如何管理子任务的执行和子任务之间的通信.3.2.1 任务调度Spark工作负载的划分由弹性分布式数据集(Resilient Distributed Dataset,RDD)的分区数决定,这是Spark的基本抽象和管道结构.RDD是一种可并行操作的.不可变元素的分区集合.具体细节可能取决于Spark的运行模式,图3-2为Spark任务/资源调度的示意图. 图3-2 通

《Scala机器学习》一一1.5 使用Scala和Spark的Notebook工作

1.5 使用Scala和Spark的Notebook工作通常,这五种数字汇总方式不足以对数据形成初步认识.描述性统计(descriptive statistics)的术语非常通用,并且可以采用非常复杂的方法来描述数据.分位数和帕雷托图(Pareto chart)都是描述性统计的例子,当分析一个以上的属性时,相关性也是.在大多数情况下都能查阅到这些数据汇总的方法,但通过具体的计算来理解这些方法也很重要.Scala或者Spark Notebook(https://github.com/Bridgew

《Scala机器学习》一一3.5 Spark的性能调整

3.5 Spark的性能调整 虽然数据管道的高效执行是任务调度器优先考虑的,这是Spark驱动的一部分,有时Spark需要人为给出一些提示.Spark调度主要与两个参数有关:CPU和内存.当然其他资源(如磁盘和网络I/O)也在Spark性能方面发挥重要作用,但目前Spark.Mesos或YARN都不能主动管理它们. 要监控的第一个参数是RDD的分区数,可以从文件中读取RDD时明确指定.常见的Spark错误是分区太多,这样做需要提供更多的并行性.当任务开始/结束时间相对较小的情况下,这样做也可以工

《Scala机器学习》一一3.3 应用

3.3 应用 下面会介绍Spark/Scala中的一些实际示例和库,具体会从一个非常经典的单词计数问题开始.3.3.1 单词计数 大多数现代机器学习算法需要多次传递数据.如果数据能存放在单台机器的内存中,则该数据会容易获得,并且不会呈现性能瓶颈.如果数据太大,单台机器的内存容纳不下,则可保存在磁盘(或数据库)上,这样虽然可得到更大的存储空间,但存取速度大约会降为原来的1/100.另外还有一种方式就是分割数据集,将其存储在网络中的多台机器上,并通过网络来传输结果.虽然对这种方式仍有争议,但分析表明

《Scala机器学习》一一1.1 Scala入门

1.1 Scala入门 如果已经安装了Scala,可以跳过本节.可以从http://www.scala-lang.org/download/下载最新版本的Scala,本书的Scala版本为2.11.7,操作系统为Mac OS X El Capitan 10.11.5.读者可以选择自己喜欢的版本,不过可能会遇到与其他包(如Spark)的兼容性问题.开源软件的一个通病就是所采用的技术可能会滞后几个版本. 大多数情况需要确保所下载的版本和推荐的版本完全一致.因为不同版本间的差异会导致隐蔽的错误,由此带