前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Pyspark学习笔记(三)--- SparkContext 与 SparkSession

Pyspark学习笔记(三)--- SparkContext 与 SparkSession

作者头像
TeeyoHuang
发布2021-05-10 11:10:21
3.1K0
发布2021-05-10 11:10:21
举报
Alt
Alt

Pyspark学习笔记(三)--- SparkContext 与 SparkSession

SparkContext

__SparkContext__是spark功能的主要入口。 其代表与spark集群的连接,能够用来在集群上创建RDD、累加器、广播变量。 每个JVM里只能存在一个处于激活状态的SparkContext,在创建新的SparkContext之前必须调用stop()来关闭之前的SparkContext.

SparkContext在spark应用中起到了master的作用,掌控了所有Spark的生命活动,统筹全局,除了具体的任务在executor中执行,其他的任务调度、提交、监控、RDD管理等关键活动均由SparkContext主体来完成。

对于普通的使用者来说,了解到这里即可,知道要使用Spark的功能要先创建一个SparkContext对象就行了,后续如何使用该对象的一些方法,只需要查文档即可, pyspark.SparkContext 如果想深入了解SparkContext,推荐这篇博文:https://www.cnblogs.com/xia520pi/p/8609602.html,写的还挺好

SparkSession

SparkSessionSpark-2.0 引入的新概念。SparkSession 为用户提供了统一的切入点,来让用户学习 Spark 的各项功能。 pyspark.sql.SparkSession 在 Spark 的早期版本中,SparkContext 是 Spark 的主要切入点,由于 RDD 是主要的 API,我们通过 sparkContext 来创建和操作 RDD。对于每个其他的 API,我们需要使用不同的 context。例如:

  • 对于 Spark Streaming,我们需要使用 StreamingContext
  • 对于 Spark SQL,使用 SQLContext
  • 对于 Hive,使用 HiveContext

但是随着 DataSetDataFrame 的 API 逐渐成为标准的 API,就需要为他们建立接入点。所以在 Spark2.0 中,引入SparkSession 作为 DataSetDataFrame API 的切入点,SparkSession封装了 SparkConfSparkContextSQLContext。为了向后兼容,SQLContextHiveContext也被保存下来。所以我们现在实际写程序时,只需要定义一个SparkSession对象就可以了。

代码语言:javascript
复制
#example
from pyspark.sql import SparkSession
spark = SparkSession\
                    .builder\
                    .appName('exam1')\
                    .enableHiveSupport()\
                    .getOrCreate()
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-03-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Pyspark学习笔记(三)--- SparkContext 与 SparkSession
  • SparkContext
  • SparkSession
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档