首页 > 代码库 > (2)Spark下载与入门

(2)Spark下载与入门

2.1 Spark核心概念简介

驱动器程序通过一个SparkContext对象来访问Spark。这个对象代表对计算集群的一个连接。shell启动时已经创建了一个SparkContext对象,是一个叫做sc的变量。一旦有了SparkContext,你就可以用它来创建RDD。要执行这些操作,驱动器程序一般要管理多个执行器(executor)节点。

 

2.2 Spark的独立应用

我们的Spark除了交互式运行之外,Spark也可以在Java,Scala或Python的独立程序中被连接使用。这与在shell中使用的主要区别在于你需要自行初始化SparkContext。

Java和Scala

在Java和Scala中,只需要给你的应用添加一个对于spark-core工件的Maven依赖。Maven是一个流行的包管理工具,可以用于任何基于Java的语言,让你可以连接公共仓库中的程序库。

Python

在Python中,你可以把应用写成Python脚本,但是需要使用Spark中的bin\spark-submit脚本来运行。spark-submit脚本会帮我们引入Python程序的Spark依赖。这个脚本为Spark的PythonAPI配置好了运行环境。

 

一旦完成了应用于Spark的连接,接下来就需要在你的程序中导入Spark包并且创建SparkContext。你可以通过先创建一个SparkConf对象来配置你的应用,然后基于这个SparkConf创建一个SparkContext对象。

1 from pyspark import SparkConf, SparkContext
2 conf = SparkConf().setMaster("local").setAppName("My App")
3 sc = SparkContext(conf = conf)

以上例子展示了创建SparkContext的最基本的方法,你只需要传递两个参数:

集群url:告诉Spark如何连接到集群上,在上面的例子中使用的是local,这个特殊值可以让Spark运行在单机单线程上而无需连接到集群

应用名:在例子猴子那个我们使用的是my app。当连接到一个集群时,这个值可以帮助你在集群管理器的用户界面中找到你的应用。

 

关闭Spark:

stop()
System.exit(0)
sys.exit()

 

(2)Spark下载与入门