Skip to content

Latest commit

 

History

History
executable file
·
66 lines (41 loc) · 4.71 KB

overview.md

File metadata and controls

executable file
·
66 lines (41 loc) · 4.71 KB

Spark概述

Apache Spark是一个快速的,多用途的集群计算系统。它提供了JavaScalaPythonR的高级API,以及一个支持通用的执行图计算的优化过的引擎。它还支持一组丰富的高级工具,包括使用SQL处理结构化数据处理的 Spark SQL,用于机器学习的 MLlib,用于图计算的 GraphX,以及 Spark Streaming

安全

Spark中的安全性默认为OFF。这可能意味着您很容易受到默认攻击。在下载和运行Spark之前,请参阅Spark Security

下载

从该项目官网的 下载页面 获取Spark。该文档用于Spark 2.4.5版本。Spark可以通过Hadoop client库使用HDFSYARN。下载一个预编译主流Hadoop版本比较麻烦。用户可以下载"Hadoop free"的二进制,并且可以通过设置Sparkclasspath 来与任何的Hadoop版本一起运行SparkScalaJava用户可以在他们的工程中通过Maven的方式引入Spark,并且在将来Python用户也可以从PyPI中安装Spark

如果您希望从源码中编译一个Spark,请访问编译Spark

Spark可以在windowsunix类似的系统(例如,LinuxMac OS)上运行。它可以很容易的在一台本地机器上运行 -你只需要安装一个JAVA环境并配置PATH环境变量,或者让JAVA_HOME指向你的JAVA安装路径

Spark可运行在Java 8+Python 2.7+/3.4+R 3.1+的环境上。针对Scala APISpark 2.4.5使用了Scala 2.12。您将需要去使用一个可兼容的Scala版本(2.12.x)。

请注意,从Spark 2.2.0起,对Java 7Python 2.6和旧的Hadoop 2.6.5之前版本的支持均已被删除。自2.3.0起,对Scala 2.10的支持被删除。 自Spark 2.4.1起,对Scala 2.11的支持已被弃用,将在Spark 3.0中删除。

运行示例和Shell

Spark自带了几个示例程序。ScalaJavaPythonR示例在 examples/src/main目录中。要运行JavaScala中的某个示例程序,在最顶层的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模式使用1个线程在本地运行,local[N] 会使用N个线程在本地运行。你应该先使用local模式进行测试。可以通过–help指令来获取spark-shell的所有配置项。Spark同样支持Python API。在Python interpreter(解释器)中运行交互式的Spark,请使用 bin/pyspark:

./bin/pyspark --master local[2] 

Python中也提供了应用示例。例如,

./bin/spark-submit examples/src/main/python/pi.py 10 

1.4开始(仅包含了DataFrames APIsSpark也提供了一个用于实验性的R API。为了在R interpreter(解释器)中运行交互式的Spark,请执行 bin/sparkR:

./bin/sparkR --master local[2] 

R中也提供了应用示例。例如,

./bin/spark-submit examples/src/main/r/dataframe.R 

在集群上运行

Spark集群模式概述 说明了在集群上运行的主要的概念。Spark既可以独立运行,也可以在一些现有的Cluster Manager(集群管理器)上运行。它当前提供了几种用于部署的选项: