当前位置: 代码迷 >> 综合 >> pyspark入门系列 - 02 pyspark.sql入口 SparkSession简介与实践
  详细解决方案

pyspark入门系列 - 02 pyspark.sql入口 SparkSession简介与实践

热度:109   发布时间:2023-10-11 11:43:33.0

SparkSesson为使用Dataset和DataFrame API编程Spark的入口点。

SparkSesson对象可以创建DataFrame,将Dataframe注册为表,并在表上执行SQL、缓存表、读parquet文件等,通过下面的方式创建SparkSesson

from pyspark.sql import SparkSession
spark = SparkSession.builder.master('local').appName('Word-Count').config('"spark.some.config.option", "some-value"').getOrCreate()
  • builder: 用于构建SparkSession实例
  • master: 设置要连接的Spark主节点URL
  • appName: 为应用设置一个名字,这个名字会显示在Spark Web UI
  • config: 配置项,对于已经存在的SparkConf,可使用conf参数
    from pyspark.conf import SparkConf
    SparkSession.builder.config(conf=SparkConf())
  • enableHiveSupport:启用Hive支持,包括与持久性Hive Metastore的连接,对Hive SerDes的支持以及Hive用户定义的功能。
  • getOrCreate: 获取现有的SparkSession,或者如果不存在,则根据此构建器中设置的选项创建一个新的SparkSession。

属性

  • catalog:用户可以通过其创建,删除,更改或查询基础数据库,表,函数的界面
  • conf:Spark的运行时配置界面。 这是用户可用来获取和设置与Spark SQL相关的所有Spark和Hadoop配置的界面。 获取配置的值时,默认为在基础SparkContext中设置的值(如果有)。
  • createDataFrame(data, schema=None, samplingRatio=None, verifySchema=True): 从rdd,列表,pandas.DataFrame创建DataFrame
    data: 数据,RDD, SQL data, list, 或者pandas.DataFrame
    schema: list类型
df = spark.createDataFrame(data=[[1,2], [3,4]], schema=['a', 'b'])
df1 = spark.createDataFrame(data=[{
    'a': [1,2], 'b': [3,4]}])
df1.show(2)
+------+------+
|     a|     b|
+------+------+
|[1, 2]|[3, 4]|
+------+------+

附上官方文档的连接:http://spark.apache.org/docs/latest/api/python/pyspark.sql.html#pyspark.sql.SparkSession
?