spark3.0-python教程:SparkContext的作用和创建

SparkContext

SparkContext 是spark程序的 主要入口,负责与集群进行交互,包括:

  1. 与ClusterManager通信,进行资源申请、任务的分配和监控等
  2. 创建 RDD、累加器、广播变量 等
  3. 访问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)

原文出处:/show_1IX3Er1IsqHh.html