Spark之SparkSession

SparkSession是Spark 2.0的核心组件,作为DataFrame和DataSet API的统一入口,替代了旧版的SparkContext、SQLContext和HiveContext。通过builder模式创建SparkSession,若SparkContext已存在则重用,否则新建。SparkSession提供了丰富的操作,是学习Spark功能的重要起点。
摘要由CSDN通过智能技术生成

  最近学习SparkSql时接触了SparkSession。SparkSession是Spark 2.0引如的新概念。SparkSession为用户提供了统一的切入点,来让用户学习spark的各项功能。
  在spark的早期版本中,SparkContext是spark的主要切入点,由于RDD是主要的API,我们通过sparkcontext来创建和操作RDD。对于每个其他的API,我们需要使用不同的context。例如,对于Streming,我们需要使用StreamingContext;对于sql,使用sqlContext;对于hive,使用hiveContext。但是随着DataSet和DataFrame的API逐渐成为标准的API,就需要为他们建立接入点。所以在spark2.0中,引入SparkSession作为DataSet和DataFrame API的切入点,SparkSession封装了SparkConf、SparkContext和SQLContext。为了向后兼容,SQLContext和HiveContext也被保存下来。

创建SparkSession

  我们可以使用builder模式来创建SparkSession。如果SparkContext已经存在,SparkSession就会重用它;如果不存在,Spark就会创建一个新的SparkContext。在每一个JVM中只能有一个SparkContext,但是在一个Spark程序中可以有多个SparkSession。

SparkSession spark = SparkSession.builder()
    .master("yourmaster
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值