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
?