SparkContext是Spark函数的主入口,一个SparkContext代表与Spark集群的连接,可以用来在集群创建RDD、累加器、广播变量等。每一个JVM只能有一个活跃的SparkContext实例,在创建新的SparkContext实例之前,必须stop正活跃的SparkContext实例。不过这个限制最终可能会移除掉。
1. SparkContext类初始化
纵观SpartContext类的初始化过程,主要创建了LiveListenerBus
、SparkStatusTracker
、HeartbeatReceiver
、SchedulerBackend
、TaskScheduler
和DAGScheduler
实例。这些实例,在后期会完成event监听、status追踪、heartbeat接受、后台调度、任务调度、DAG调度等工作,是Spark Application得以运行的基石。