SparkContext
SparkContext 是spark程序的 主要入口,负责与集群进行交互,包括:
- 与ClusterManager通信,进行资源申请、任务的分配和监控等
- 创建 RDD、累加器、广播变量 等
- 访问Spark的服务,运行任务
spark程序都要先创建 SparkContext 对象
提示:在 Spark2.0 后,使用 SparkSession 类对象,作为 Spark 程序的 统一入口
注意:
每个JVM里 只能存在 一个 处于激活状态 的SparkContext,在创建新的SparkContext之前必须调用 stop() 来关闭之前的 SparkContext
PySpark命令 创建 SparkContext 对象
在这个版本中,没有显示 创建 SparkContext 的对象 sc,但确实可以使用 sc,如下:
textFile = sc.textFile("/data/data2.txt")
rdd = textFile.flatMap(lambda line:line.split(" "))
rdd2 = rdd.map(lambda e:(e,1))
rdd3 = rdd2.reduceByKey(lambda a, b: a + b)
rdd3.foreach(print)
代码创建 SparkContext 对象
编写应用程序时,需要创建 SparkContext 对象
准备
# 初始化 spark 环境
import findspark
findspark.init()
# 导包
from pyspark import SparkConf, SparkContext
创建方式一:
sc = SparkContext( 'local[*]', 'wordcount')
创建方式二:
conf = SparkConf().setMaster("local[*]").setAppName("wordcount")
sc = SparkContext(conf = conf)
