Spark Overview
Apache Spark是一个很快的用于一般目的的集群计算系统。它在Java、Python和R语言上提供了高级别的API,并且提供了一个支持一般图计算的优化引擎。它还提供了一组丰富的高级别的工具,包括SQL和结构化数据处理所需要的Spark SQL、机器学习所需要的MLlib、图处理所需要的GraphX以及Spark Streaming。
Downloading
从项目网站的下载页获取Spark。这个文档为是针对的Spark2.3.1版本。Spark为了使用HDFS和YARN使用了Hadoop客户端库。这个下载中预置了一些常用的Hadoop版本。用户还可以下载一个”Hadoop free”库通过Spark的classpath指定Hadoop版本来运行Spark。Scala和Java用户可以在自己的项目的中使用Spark的Mave依赖来包含Spark,而Python用户在未来也可以从PyPI中安装Spark。
如果你喜欢从源码构建Spark,可以通过这个链接来操作。
Spark能够运行在Windowns和类UNIX的系统上。在一台机器上以本地模式运行很容易–你需要做的事情就是在你的系统路径中安装java或者在环境变量JAVA_HOME中指向Java的安装。
Spark运行在Java 8+, Python 2.7+/3.4+或R 3.1+上。对于Scala API,Spark2.3.1使用的是Scala2.11。你需要使用一个合适Scala版本(Scala2.11+)。
注意,对于Java 7、Python 2.6以及2.6.5以前的Hadoop版本的支持,已经在Spark 2.2.0中移除。对于Scala2.10版本的支持在Spark 2.3.0中移除了。
Running the Examples and Shell
Spark带有一些简单的样例程序。Scala、Java和R的样例都在examples/src/main目录下。想要运行一个Java或Scala样例程序,需要使用顶级Spark目录下bin/run-example
你还可以通过Scala shell的一个修改版,以交互的方式运行Saprk。这对于学习这个框架是很好的:
其中的–master选项指定了一个分布式集群的master的URL,或者使用一个线程以本地模式运行,或者local[N]表示使用N个线程以本地模式运行。你可以从使用本地模式做测试来开始。对于选项的全部列表,使用使用–help选项来运行Spark shell。
Spark还提供了一个Python的API。想要在Python解析器中以交互方式运行Spark,可以使用 bin/pyspark:
样例application也提供了Python版本。如:
从Spark1.4开始Spark也提供了R API的样例。要以R解析器中以交互方式运行Spark,可以使用 bin/sparkR:
样例程序同样也提供了R语言版本的,如: