Spark概述
Apache Spark是一个快速、通用的集群计算系统。 它提供Java,Scala和Python三种语言的高级api以及一个图形优化引擎,。 它还支持一组丰富的更高级的工具,包括: SQL方面的SparkSQL 和结构化数据处理, 机器学习方面的MLlib , 图形处理方面的GraphX 以及Spark Streaming 。
下载
可以从Spark项目的网站下载页面 下载Spark。此文档基于1.3.0版本。 下载页面可以下载对应各种HDFS版本的 Spark包。 如果你想构建Spark,请访问 构建Spark 。
Spark可以运行在Windows系统和类unix的系统(例如Linux,Mac OS)。Spark在机器上运行非常简单-系统的环境变量Path中指定java的安装路径, 或者配置JAVA_HOME环境变量指向Java安装路径。
Spark运行在Java 6 +和Python 2.6 +。 对于Scala API, Spark 1.3.0使用Scala 2.10。您需要使用一个与之兼容的Scala版本(2.10.x)。
运行示例脚本
Spark附带了几个示例程序。 Scala,Java和Python的示例存放在examples/src/main 目录中。可以使用Spark根目录下的bin/run-example <class>[params]脚本运行Java或Scala示例程序,。 (实际上在后台,这个脚本是通过调用Spark-submit 脚本 来启动应用程序)。 例如,
./bin/run-example SparkPi 10
您也可以通过一个修改过的Scala脚本来交互式地运行Spark。对于学习Spark框架来说,这种方式更好。
./bin/Spark-shell --master local[2]
--master选项用来指定 分布式集群的Master URL ,或者指定使用一个本地线程本地运行,或者指定使用N个本地线程本地运行local[N]。一般使用local来进行测试。脚本更详细的帮助信息使用--help。
此外, Spark也提供Python API。 要想使用Python来交互式运行Spark,使用 bin/pySpark:
./bin/pySpark --master local[2]
当然示例应用程序也提供Python版本。 例如,
./bin/Spark-submit examples/src/main/python/pi.py 10
启动集群
Spark 集群模式概述 描述集群上运行的核心思想。 Spark不但可以独立运行,也可以运行在已有的集群上。 目前提供的一些部署方式:
· Amazon EC2 :Spark的EC2脚本让你可以大约5分钟启动一个集群
· 独立的部署模式 :在私有集群上部署Sprak最简单的方式
· Apache Mesos
· Hadoop YARN
资源导航
编程指南:
· 快速启动 :快速介绍SparkAPI;从这里开始!
· Spark编程指南 :Spark的详细概述以所有受支持的语言(Scala、Java、Python)
· Spark 模块:
§ Spark流 :处理实时数据流
§ SparkSQL和DataFrames :支持结构化数据和关系查询
§ MLlib :内置机器学习库
§ GraphX :Spark进行图形处理的新API
§ Bagel(Pregel On Spark) :旧的比较简单的图形处理模型
API文档:
· Spark Scala API(Scaladoc)
· Spark Java API(Javadoc)
· Spark Python API(Epydoc)
部署指南:
· 集群的概述 : 集群上运行的概念和组件的概述
· Submitting :打包和部署应用程序
· 部署模式:
§ Amazon EC2 :启动脚本可以让你在EC2上花大约5分钟启动一个集群
§ 独立的部署模式 : 迅速启动一个没有第三方集群管理器的独立集群
§ Mesos :使用 Apache Mesos 部署私有集群
§ YARN : 在Hadoop NextGen(YARN)之上部署Spark
其他文档:
· 配置 :通过Spark的配置系统定制Spark
· 监控 :跟踪应用程序的行为
· 调优指南 :优化性能和内存使用的最佳实践
· 作业调度 :Spark应用程序内以及应用程序之间调度资源
· 安全 :Spark安全支持
· 硬件配置 :集群关于硬件的建议
· Hadoop发行版 :使用常见的Hadoop发行版
· 与其他存储系统集成:
§ OpenStack Swift
· 构建Spark :使用Maven构建Spark系统
· Sparkg贡献
· 相关项目 :Spark相关的第三方项目
外部资源:
· Spark主页
· Spark维基
· Spark社区 资源,包括当地的聚会
· StackOverflow tag apache-spark
· 邮件列表 :邮件列表
· AMP营地 加州大学伯克利分校讨论Spark,Spark流,Mesos等等的地方。
· 视频 , 幻灯片 和 练习 : 免费在线资料
· 示例代码 :更多的示例在Spark的examples子目录中( Scala , Java , Python)