本文是根据spark官方英文文档进行翻译而来,英文出处http://spark.apache.org/docs/latest/index.html
1.spark概述
apache spark是一个快速、通用的集群计算系统,它提供了高层次的API文档,包含了Java、Scala、Python和R语言,同时还提供了一个优化后的通用的针对图计算的引擎。它提供了大量的计算工具,比如SparkSql可以支持SQL查询、结构化的数据处理,MLlib用于机器学习,Graphx用于图计算,还有SparkStreaming。
2.下载
从地址 http://spark.apache.org/downloads.html 可以下载spark,该文档主要是介绍spark1.6.1版本。spark使用hadoop客户端来使用HDFS和YARN。下载页面提供了预先打包好的通用的hadoop版本。用户也可以自己下载hadoop,然后运行spark,通过路径设置的方式来关联起spark和hadoop
如果你想要通过源码来自己编译spark,可以参考http://spark.apache.org/docs/latest/building-spark.html
spark可以运行在windows系统上,也可以运行在类unix系统上。很容易在本地环境运行。你需要做的就是需要安装一个java,然后配置下java的路径。
spark运行在java 7+版本 Python2.6+和R语言3.1+。对于Scala的API,spark1.6.1使用scala2.10. 也可以使用与之兼容的scala版本(2.10.x)
3.运行spark例子和spark shell
spark提出了很多样例程序。Scala,Java,Python和R的程序例子都在examples/src/main/目录下,在spark安装目录的最顶级目录下执行bin/run-example<class> [params]即可。举例如下:
<span style="font-size:18px;">./bin/run-example SparkPi 10</span>
你也可以使用scala提供的交互式的shell客户端来执行spark命令,这种方式是学习spark架构的最好的方式。如下
<span style="font-size:18px;">./bin/spark-shell -- master local[2]</span>
这个--master 选项指明了分布式集群的master url地址,或者是local来说明是使用单线程在本地执行,或者是使用local[N]在本地使用N个线程执行。你应该使用local来做测试。如果想知道所有的执行选项,可以通过spark-shell --help来查看。
spark同时也提供了Python的API。在python的spark解释器,使用bin/pyspark
<span style="font-size:18px;">./bin/pyspark -- master local[2]</span>
例如使用spark-submit来提交python的spark任务,如下所示
<span style="font-size:18px;">./bin/spark-submit examples/src/main/python/pi.py 10</span>
spark也提供了R语言的API,例子如下所示:
<span style="font-size:18px;">./bin/sparkR --master local[2]</span>
应用程序例子如下:
<span style="font-size:18px;">./bin/spark-submit examples/src/main/r/dataframe.R</span>