本帖最后由 Zhiqiang 于 2017-4-29 17:38 编辑
Spark 概述Apache Spark是一个快速的、通用的集群计算系统。它提供了基于Java、Scala、Python和R语言的高级API,和一个支持通常的任务执行图的最佳化引擎。它也提供了一个丰富的较高层次的工具,包括用于SQL和结构化数据处理的Spark SQL,用于机器学习的MLib,用于图处理的GraphX,和Spark Streaming。
下载
您可以从项目的官网的下载页获取Spark。这篇文档是针对Spark 2.1.0编写。Spark使用了用以支持HDFS和YARN的Hadoop的客户端库文件。下载页提供了一些的预包装的流行的Hadoop版本。用户也可以下载一个“Hadoop free”(即未预包装Hadoop库文件)的Spark二进制文件包,并通过配置Spark的classpath参数来运行Spark与任意版本的Hadoop。Scala和Java用户可以通过增加Spark的maven坐标在项目中使用Spark,将来Python用户也可以从PyPI安装Spark。
如果您想要从源代码编译Spark,访问Building Spark。
Spark可以运行在Windows和类UNIX系统(例如:Linux、Mac OS)。在一台计算上本地化运行Spark是很容易的,仅仅需要在您的计算机上安装java,并且配置好系统变量PATH,或者指向java安装目录的环境变量JAVA_HOME。
Spark运行在Java 7+,Python 2.6+/3.4+ 和 R3.1+。对于Scala API,Spark 2.1.0使用Scala 2.11,你需要使用一个兼容的Scala版本(2.11.x)。
注意:从Spark 2.0.0开始,Spark对Java 7和Python 2.6的支持已被弃用,从Spark 2.1.0开始,Spark对Scala2.10和Hadoop2.6之前版本的支持已被弃用,并且可能在Spark 2.2.0版本中移除。
运行示例和Shell
Spark提供了几个示例程序。Scala、Java、Python和R示例在examples/src/main目录。可以使用顶层的Spark目录中的bin/run-example <class> [params]来运行这些Java或Scala示例程序。(在后台,它会调用更常见的spark-submit脚本来启动应用)。例如,[mw_shl_code=bash,true]./bin/run-example SparkPi 10[/mw_shl_code]
可以通过一个Scala shell的改进版本来交互式运行Spark,这是一个学习Spark框架的很好的方式。
[mw_shl_code=bash,true]./bin/spark-shell --master local[2][/mw_shl_code]
--master选项指定了一个分布式集群的Master节点的URL,或者local来使用1个线程本地模式运行,或者local[N]来使用N个线程本地模式运行。您可以使用local来启动以进行测试。您可以运行Spark shell使用--help选项来获取一个完整的选项列表。
Spark也提供了Python API。可以使用bin/pyspark,在一个Python解释器中交互式运行Spark:
[mw_shl_code=bash,true]./bin/pyspark --master local[2][/mw_shl_code]
示例程序也以Python语言的形式给出。例如,
[mw_shl_code=bash,true]./bin/spark-submit examples/src/main/python/pi.py 10[/mw_shl_code]从1.4版本开始,Spark也提供了一个实验性的R API(只包含DataFrames APIs)。可以使用bin/sparkR,在一个R解释器中交互式运行Spark:
[mw_shl_code=bash,true]./bin/sparkR --master local[2][/mw_shl_code]
示例程序也以R语言的形式给出。例如,
[mw_shl_code=bash,true]./bin/spark-submit examples/src/main/r/dataframe.R[/mw_shl_code]
|
|