首页 > 代码库 > (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下载与入门