spark概述

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)

你可能感兴趣的:(spark概述)