-
在理解spark-session之前让我们理解入口点,一个入口点是控制从操作系统传递到提供的程序的地方。 在2.0入口之前,spark-core的入口点是sparkContext
SparkContext在Apache Spark中的功能:
获取spark应用程序的当前状态
设置配置
访问各种服务
取消job
取消一个stage
关闭清洁
注册Spark-Listener
可编程动态分配
访问持久性RDD在spark 2.0之前,SparkContext被用作访问所有spark功能的通道。 spark驱动程序使用sparkContext通过资源管理器连接到集群。
SparkConf是创建spark上下文对象所必需的,它存储配置参数,如appName(用于标识spark驱动程序),core的数目和在工作节点上运行的执行程序的内存大小。
-
SparkSession
对于流式传输,我们需要streamingContext。 对于SQL sqlContext和hive hiveContext.,因为dataSet和DataFrame API正在成为新的独立API,我们需要为它们构建入口点。 因此在spark 2.0中,我们为DataSet和DataFrame API创建了一个新的入口点构建,称为Spark-Session。 -
SparkSession与Spark Context
这里我们从SparkSession的源码入手
class SparkSession private(
@transient val sparkContext: SparkContext,
@transient private val existingSharedSt