SparkSession 类

定义

使用数据集和数据帧 API 对 Spark 进行编程的入口点。

public sealed class SparkSession : IDisposable
type SparkSession = class
    interface IDisposable
Public NotInheritable Class SparkSession
Implements IDisposable
继承
SparkSession
实现

属性

Catalog

用户可通过该接口创建、删除、更改或查询基础数据库、表、函数等。

SparkContext

返回与此 SparkSession 关联的 SparkContext 对象。

方法

Active()

返回当前处于活动状态的 SparkSession,否则返回默认的 SparkSession。 如果没有默认的 SparkSession, 将引发异常。

Builder()

为 SparkSession 创建 Builder 对象。

ClearActiveSession()

清除当前线程的活动 SparkSession。 对 的后续调用 GetOrCreate() 将返回第一个创建的上下文,而不是线程本地替代。

ClearDefaultSession()

清除生成器返回的默认 SparkSession。

Conf()

Spark 的运行时配置接口。 这是一个界面,用户可以通过该界面获取和设置与 Spark SQL 相关的所有 Spark 和 Hadoop 配置。 获取配置的值时,此值默认为基础 SparkContext 中设置的值(如果有)。

CreateDataFrame(IEnumerable<Boolean>)

创建数据类型为 IEnumerable 的给定数据帧 Boolean

CreateDataFrame(IEnumerable<Date>)

创建数据类型为 IEnumerable 的给定数据帧 Date

CreateDataFrame(IEnumerable<Double>)

创建数据类型为 IEnumerable 的给定数据帧 Double

CreateDataFrame(IEnumerable<GenericRow>, StructType)

使用给定架构 DataFrameIEnumerable 包含 GenericRow的 创建 。 请务必确保提供IEnumerable的每个 GenericRow 的结构都与提供的架构匹配。 否则,会出现运行时异常。

CreateDataFrame(IEnumerable<Int32>)

创建数据类型为 IEnumerable 的给定数据帧 Int32

CreateDataFrame(IEnumerable<Nullable<Boolean>>)

创建数据类型为 IEnumerable 的给定数据帧 Nullable<T>

CreateDataFrame(IEnumerable<Nullable<Double>>)

创建数据类型为 IEnumerable 的给定数据帧 Nullable<T>

CreateDataFrame(IEnumerable<Nullable<Int32>>)

创建数据类型为 IEnumerable 的给定数据帧 Nullable<T>

CreateDataFrame(IEnumerable<String>)

创建数据类型为 IEnumerable 的给定数据帧 String

CreateDataFrame(IEnumerable<Timestamp>)

创建数据类型为 IEnumerable 的给定数据帧 Timestamp

Dispose()

Stop () 的同义词。

ExecuteCommand(String, String, Dictionary<String,String>)

在外部执行引擎而不是 Spark 中执行任意字符串命令。 当用户想要从 Spark 中执行某些命令时,这可能很有用。 例如,执行 JDBC 的自定义 DDL/DML 命令、为 ElasticSearch 创建索引、为 Solr 创建核心等。 调用此方法后,将预先执行命令,并且返回的数据帧将包含命令的输出(如果有任何) ()。

GetActiveSession()

返回当前线程的活动 SparkSession,由生成器返回。

GetDefaultSession()

返回生成器返回的默认 SparkSession。

NewSession()

使用隔离的 SQL 配置、临时表、已注册函数启动新会话,但共享基础 SparkContext 和缓存数据。

Range(Int64)

使用名为 id 的单个列创建数据帧,其中包含从 0 到结束 (独占) 的元素,步骤值为 1。

Range(Int64, Int64)

使用名为 id 的单个列创建 DataFrame,其中包含从开始到结束 (步骤值为 1 的排他) 范围内的元素。

Range(Int64, Int64, Int64)

使用名为 id 的单个列创建 DataFrame,其中包含从开始到结束 (具有步骤值的排他) 范围内的元素。

Range(Int64, Int64, Int64, Int32)

使用名为 id 的单个列创建 DataFrame,其中包含从开始到结束 (具有步骤值且指定分区号的排他) 范围内的元素。

Read()

返回一个 DataFrameReader,该 DataFrameReader 可用于读取作为 DataFrame 的非流式处理数据。

ReadStream()

返回一个 DataStreamReader,该 DataStreamReader 可用于以数据帧的形式读取流式处理数据。

SetActiveSession(SparkSession)

更改调用 时 GetOrCreate() 将在此线程中返回的 SparkSession。 这可用于确保给定线程接收具有隔离会话的 SparkSession,而不是首先) 上下文创建的全局 (。

SetDefaultSession(SparkSession)

设置生成器返回的默认 SparkSession。

Sql(String)

使用 Spark 执行 SQL 查询,以数据帧的形式返回结果。

Stop()

停止基础 SparkContext。

Streams()

返回一个 StreamingQueryManager ,它允许管理在上下文中StreamingQuerythis处于活动状态的所有实例。

Table(String)

以数据帧的形式返回指定的表/视图。

Udf()

返回 UDFRegistraion 对象,可使用该对象注册用户定义函数 (UDF) 。

扩展方法

GetAssemblyInfo(SparkSession, Int32)

Microsoft.Spark.Utils.AssemblyInfoProvider.AssemblyInfo获取 Spark 驱动程序上运行的“Microsoft.Spark”程序集的 ,并“尽最大努力”尝试确定 Microsoft.Spark.Utils.AssemblyInfoProvider.AssemblyInfo Spark 执行器上的“Microsoft.Spark.Worker”程序集。

无法保证 Spark 执行程序将在群集中的所有节点上运行。 若要增加可能,应将 Spark conf spark.executor.instancesnumPartitions 设置调整为相对于 Spark 群集中的节点数的合理数目。

适用于