当前位置 博文首页 > Shockang的博客:SparkContext是什么?有什么作用?
本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!
本专栏目录结构和参考文献请见1000个问题搞定大数据技术体系
SparkContext 是通往 Spark 集群的唯一入口,可以用来在 Spark 集群中创建 RDDs 、累加和广播变量( BroadcastVariables )。
Spark 也是整个 Spark 应用程序( Application )中至关重要的一个对象,可以说是整个 Application 运行调度的核心(不是指资源调度)。
SparkContext 的核心作用是初始化 Spark 应用程序运行所需要的核心组件,包括高层调度器( DAGScheduler )、底层调度器( TaskScheduler )和调度器的通信终端( SchedulerBackend ),同时还会负责 Spark 程序向 Master 注册程序等。
只可以有一个 SparkContext 实例运行在一个 JWM 内存中,所以在创建新的 SparkContext 实例前,必须调用 stop 方法停止当前 JVM 唯一运行的 SparkContext 实例。
Spark 程序在运行时分为 Driver 和 Executor 两部分, Spark 程序编写是基于 SparkContext 的,具体包含。
/**
* Spark功能的主要入口点。
* SparkContext表示与Spark集群的连接,可用于在该集群上创建RDD、累加器和广播变量。
*
* @note 每个JVM只能有一个SparkContext处于活动状态。在创建新的SparkContext之前,必须 stop() 活跃的SparkContext。
*
* @param config 描述应用程序配置的 Spark Config 对象。此配置中的任何设置会覆盖默认配置和系统属性。
*/
class SparkContext(config: SparkConf) extends Logging
cs