【spark】SparkSession的API
2021-04-10 01:26
标签:empty 类型 spark 它的 EDA clear end 执行sql 外部 builder函数 setActiveSession函数 clearActiveSession函数 setDefaultSession函数 clearDefaultSession函数 getActiveSession函数 getDefaultSession函数 public static scala.Option sparkContext函数 version函数 sharedState函数 sessionState函数 conf函数 listenerManager函数 experimental函数 udf函数 streams函数 newSession函数 emptyDataFrame函数 emptyDataset函数 createDataFrame函数 public Dataset 创建DataFrame从包含行的schema的java.util.List public Dataset public Dataset 应用schema到Java Bean list baseRelationToDataFrame函数 public public public Dataset public Dataset table函数 read函数 stop函数 close函数 【spark】SparkSession的API 标签:empty 类型 spark 它的 EDA clear end 执行sql 外部 原文地址:https://www.cnblogs.com/zzhangyuhang/p/9054880.html
SparkSession是一个比较重要的类,它的功能的实现,肯定包含比较多的函数,这里介绍下它包含哪些函数。
public static SparkSession.Builder builder()
创建 SparkSession.Builder,初始化SparkSession.
public static void setActiveSession(SparkSession session)
当SparkSession.GetOrCreate()被调用,SparkSession发生变化,将会返回一个线程和它的子线程。这将会确定给定的线程接受带有隔离会话的SparkSession,而不是全局的context。
public static void clearActiveSession()
清除当前线程的Active SparkSession。然后调用GetOrCreate将会返回第一次创建的context代替本地线程重写
public static void setDefaultSession(SparkSession session)
设置默认的SparkSession,返回builder
public static void clearDefaultSession()
清除默认的SparkSession返回的builder
public static scala.Option
由builder,返回当前线程的Active SparkSession
由builder,返回默认的SparkSession
public SparkContext sparkContext()
public String version()
返回运行应用程序的spark版本
public org.apache.spark.sql.internal.SharedState sharedState()
通过sessions共享状态,包括SparkContext, cached 数据, listener, 和catalog.
这是内部spark,接口稳定性没有保证
public org.apache.spark.sql.internal.SessionState sessionState()
通过session隔离状态,包括:SQL 配置, 临时表, registered 功能, 和 其它可接受的 SQLConf.
这是内部spark,接口稳定性没有保证
sqlContext函数
public SQLContext sqlContext()
session封装以 SQLContext的形式,为了向后兼容。
public RuntimeConfig conf()
运行spark 配置接口
通过这个接口用户可以设置和获取与spark sql相关的所有Spark 和Hadoop配置.当获取config值,
public ExecutionListenerManager listenerManager()
用于注册自定义QueryExecutionListeners的接口,用于侦听执行指标。
public ExperimentalMethods experimental()
collection函数,被认为是experimental,可以用于查询高级功能的查询计划程序。
public UDFRegistration udf()
collection 函数,用于用户自定义函数
public StreamingQueryManager streams()
返回StreamingQueryManager ,允许管理所有的StreamingQuerys
public SparkSession newSession()
启动一个独立的 SQL 配置, temporary 表, registered 功能新的session,但共享底层的SparkContext 和缓存数据.
public Dataset
返回一个空没有行和列的DataFrame
public
创建一个T类型的空的Dataset
public Dataset
从rdd创建DateFrame
从RDD包含的行给定的schema,创建DataFrame。需要确保每行的RDD结构匹配提供的schema,否则将会运行异常。
public Dataset
创建DataFrame从包含schema的行的RDD。确保RDD提供的每行结构匹配提供的schema,否则运行异常
public Dataset
应用schema到Java Beans的RDD
警告:由于Java Bean中的字段没有保证的顺序,因此SELECT *查询将以未定义的顺序返回列。
应用schema到Java Beans的RDD
警告:由于Java Bean中的字段没有保证的顺序,因此SELECT *查询将以未定义的顺序返回列。
public Dataset
警告:由于Java Bean中的字段没有保证的顺序,因此SELECT *查询将以未定义的顺序返回列。
public Dataset
转换创建的BaseRelation,为外部数据源到DataFrame
createDataset函数
public
从本地给定类型的数据Seq创建DataSet。这个方法需要encoder (将T类型的JVM对象转换为内部Spark SQL表示形式)。这通常是通过从sparksession implicits自动创建。或则可以通过调用 Encoders上的静态方法来显式创建。
创建DataSet从给定类型的RDD。这个方法需要encoder (将T类型的JVM对象转换为内部Spark SQL表示形式)。通常自动创建通过SparkSession的implicits 或则可以通过调用 Encoders上的静态方法来显式创建。
创建 Dataset,对于T类型的java.util.List。这个方法需要encoder (将T类型的JVM对象转换为内部Spark SQL表示形式), 或则可以通过调用 Encoders上的静态方法来显式创建。
range函数
public Dataset
使用名为id的单个LongType列创建一个Dataset,包含元素的范围从start到结束(不包括),步长值为1。
使用名为id的单个LongType列创建一个Dataset,包含元素的范围从start到结束(不包括),步长值为step。
public Dataset
使用名为id的单个LongType列创建一个Dataset,包含元素的范围从start到结束(不包括),步长值为step,指定partition 的数目
catalog函数
public Catalog catalog()
用户可以通过它 create, drop, alter 或则query 底层数据库, 表, 函数等.
public Dataset
tableName是可以合格或则不合格的名称。如果在数据库中指定,它在数据库中会识别。否则它会尝试找到一个临时view ,匹配到当前数据库的table/view,全局的临时的数据库view也是有效的。
sql函数
public Dataset
使用spark执行sql查询,作为DataFrame返回结果。用来sql parsing,可以用spark.sql.dialect来配置
public DataFrameReader read()
返回一个DataFrameReader,可以用来读取非流数据作为一个DataFrame
readStream函数
public DataStreamReader readStream()
返回一个DataFrameReader,可以用来读取流数据作为一个DataFrame
time函数
public
执行一些代码块并打印输出执行该块所花费的时间。 这仅在Scala中可用,主要用于交互式测试和调试。
这个函数还是比较有用的,很多地方都能用到
implicits函数
public SparkSession.implicits$ implicits()
嵌套Scala对象访问
public void stop()
停止SparkContext
public void close()
与stop类似