注:
1. 本文链接中,包含[]的为已翻译的文档链接,不包含的为官方文档链接。
2. 涉及到编程语言的部分,以翻译Scala的部分为主
Spark概述
Apache Spark是一个快速的,通用的集群计算系统。在Java,Scala,Python和R语言中提供了高层API,并提供一个支持一般图形计算的优化引擎。Spark支持一个丰富的高层工具集,包括Spark SQL用于SQL和结构化数据处理,MLLib用于机器学习,GraphX用于图处理和Spark Streaming。
下载
从官网下载页面获取Spark。本文档适用于Spark 2.1.0版本。Spark为使用HDFS和YARN而需要用到Hadoop客户端库。下载包是为适配主流Hadoop版本预先打包好的。用户还可以下载"Hadoop free"二进制文件,然后通过配置Spark的classpath在任意版本的Hadoop中运行Spark。Scala和Java用户可以使用maven cooridnates在项目中包含Spark。将来Python用户也可以从PyPI中安装Spark。
如果想要从源码编译Spark,访问构建Spark。
Spark可以在Windows和类UNIX系统(如Linux,Mac OS)上运行。Spark很容易在一台机器上本地运行——你需要做的就是在系统PATH上安装了Java,或者在JAVA_HOME环境变量中指定了Java的安装路径。
Spark可以运行在Java 7+,Python 2.6+/3.4+,R 3.1+环境上。对于Scala API,Spark 2.1.0使用的是Scala 2.11。你需要使用一个可兼容的Scala版本(2.11.x)。
请注意,从Spark 2.0.0开始,对Java 7和Python 2.6的支持已弃用,从Spark 2.1.0开始,对Scala 2.10和Hadoop 2.6之前版本的支持已弃用,在Spark 2.2.0时可能会被删除。
运行示例和Shell
Spark自带几个示例程序。Scala,Java,Python和R语言的示例在 examples/src/main
目录下。要运行Java或者Scala示例程序,在Spark的根目录中使用bin/run-example <class> [params]
(在后台,将调用更通用的spark-submit脚本来启动应用程序)。例如:
./bin/run-example SparkPi 10
也可以使用一个修改版的Scala Shell以交互方式运行Spark。这是一种学习框架非常好的方式。
./bin/spark-shell --master local[2]
其中--master
选项指定了分布式集群的master URL,local
以单线程在本地运行,local[N]
以N个线程在本地运行。你应该首先使用local
来进行测试。完整的选项列表,可使用--help
选项来运行Spark。
Spark也提供了Python API。要在Python解释器中以交互方式运行Spark,使用bin/pyspark
:
./bin/pyspark --master local[2]
Spark也提供了Python的示例应用程序,例如,
./bin/spark-submit examples/src/main/python/pi.py 10
Spark从1.4版本开始就提供了一个实验的R API(只包含DataFrames API)。要在R语言解释器中交互式地运行Spark,使用bin/sparkR
:
./bin/sparkR --master local[2]
Spark也提供了R语言的示例应用程序,例如,
./bin/spark-submit examples/src/main/r/dataframe.R
作者:steanxy
链接:https://www.jianshu.com/p/a78a8ff6e224