日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【spark】SparkSession的API

發(fā)布時間:2024/10/12 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【spark】SparkSession的API 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.


SparkSession是一個比較重要的類,它的功能的實(shí)現(xiàn),肯定包含比較多的函數(shù),這里介紹下它包含哪些函數(shù)。

builder函數(shù)
public static SparkSession.Builder builder()
創(chuàng)建 SparkSession.Builder,初始化SparkSession.

setActiveSession函數(shù)
public static void setActiveSession(SparkSession session)
當(dāng)SparkSession.GetOrCreate()被調(diào)用,SparkSession發(fā)生變化,將會返回一個線程和它的子線程。這將會確定給定的線程接受帶有隔離會話的SparkSession,而不是全局的context。

clearActiveSession函數(shù)
public static void clearActiveSession()
清除當(dāng)前線程的Active SparkSession。然后調(diào)用GetOrCreate將會返回第一次創(chuàng)建的context代替本地線程重寫

setDefaultSession函數(shù)
public static void setDefaultSession(SparkSession session)
設(shè)置默認(rèn)的SparkSession,返回builder

clearDefaultSession函數(shù)
public static void clearDefaultSession()
清除默認(rèn)的SparkSession返回的builder

getActiveSession函數(shù)
public static scala.Option<SparkSession> getActiveSession()
由builder,返回當(dāng)前線程的Active SparkSession

getDefaultSession函數(shù)

public static scala.Option<SparkSession> getDefaultSession()
由builder,返回默認(rèn)的SparkSession

sparkContext函數(shù)
public SparkContext sparkContext()

version函數(shù)
public String version()
返回運(yùn)行應(yīng)用程序的spark版本

sharedState函數(shù)
public org.apache.spark.sql.internal.SharedState sharedState()
通過sessions共享狀態(tài),包括SparkContext, cached 數(shù)據(jù), listener, 和catalog.
這是內(nèi)部spark,接口穩(wěn)定性沒有保證

sessionState函數(shù)
public org.apache.spark.sql.internal.SessionState sessionState()
通過session隔離狀態(tài),包括:SQL 配置, 臨時表, registered 功能, 和 其它可接受的 SQLConf.?
這是內(nèi)部spark,接口穩(wěn)定性沒有保證


sqlContext函數(shù)
public SQLContext sqlContext()
session封裝以 SQLContext的形式,為了向后兼容。

conf函數(shù)
public RuntimeConfig conf()
運(yùn)行spark 配置接口
通過這個接口用戶可以設(shè)置和獲取與spark sql相關(guān)的所有Spark 和Hadoop配置.當(dāng)獲取config值,

listenerManager函數(shù)
public ExecutionListenerManager listenerManager()
用于注冊自定義QueryExecutionListeners的接口,用于偵聽執(zhí)行指標(biāo)。

experimental函數(shù)
public ExperimentalMethods experimental()
collection函數(shù),被認(rèn)為是experimental,可以用于查詢高級功能的查詢計(jì)劃程序。

udf函數(shù)
public UDFRegistration udf()
collection 函數(shù),用于用戶自定義函數(shù)

streams函數(shù)
public StreamingQueryManager streams()
返回StreamingQueryManager ,允許管理所有的StreamingQuerys?

newSession函數(shù)
public SparkSession newSession()
啟動一個獨(dú)立的 SQL 配置, temporary 表, registered 功能新的session,但共享底層的SparkContext 和緩存數(shù)據(jù).

emptyDataFrame函數(shù)
public?Dataset<Row> emptyDataFrame()
返回一個空沒有行和列的DataFrame?

emptyDataset函數(shù)
public <T> Dataset<T> emptyDataset(Encoder<T> evidence$1)
創(chuàng)建一個T類型的空的Dataset

createDataFrame函數(shù)
public <A extends scala.Product> Dataset<Row> createDataFrame(RDD<A> rdd,scala.reflect.api.TypeTags.TypeTag<A> evidence$2)
從rdd創(chuàng)建DateFrame

public Dataset<Row> createDataFrame(RDD<Row> rowRDD, StructType schema)
從RDD包含的行給定的schema,創(chuàng)建DataFrame。需要確保每行的RDD結(jié)構(gòu)匹配提供的schema,否則將會運(yùn)行異常。


public Dataset<Row> createDataFrame(JavaRDD<Row> rowRDD,StructType schema)
創(chuàng)建DataFrame從包含schema的行的RDD。確保RDD提供的每行結(jié)構(gòu)匹配提供的schema,否則運(yùn)行異常
public Dataset<Row> createDataFrame(java.util.List<Row> rows,StructType schema)

創(chuàng)建DataFrame從包含行的schema的java.util.List?

public Dataset<Row> createDataFrame(RDD<?> rdd,Class<?> beanClass)
應(yīng)用schema到Java Beans的RDD
警告:由于Java Bean中的字段沒有保證的順序,因此SELECT *查詢將以未定義的順序返回列。

public Dataset<Row> createDataFrame(JavaRDD<?> rdd, Class<?> beanClass)
應(yīng)用schema到Java Beans的RDD
警告:由于Java Bean中的字段沒有保證的順序,因此SELECT *查詢將以未定義的順序返回列。
public Dataset<Row> createDataFrame(java.util.List<?> data,Class<?> beanClass)

應(yīng)用schema到Java Bean list
警告:由于Java Bean中的字段沒有保證的順序,因此SELECT *查詢將以未定義的順序返回列。

baseRelationToDataFrame函數(shù)
public Dataset<Row> baseRelationToDataFrame(BaseRelation baseRelation)
轉(zhuǎn)換創(chuàng)建的BaseRelation,為外部數(shù)據(jù)源到DataFrame


createDataset函數(shù)
public <T> Dataset<T> createDataset(scala.collection.Seq<T> data,Encoder<T> evidence$4)
從本地給定類型的數(shù)據(jù)Seq創(chuàng)建DataSet。這個方法需要encoder (將T類型的JVM對象轉(zhuǎn)換為內(nèi)部Spark SQL表示形式)。這通常是通過從sparksession implicits自動創(chuàng)建。或則可以通過調(diào)用 Encoders上的靜態(tài)方法來顯式創(chuàng)建。

public <T> Dataset<T> createDataset(RDD<T> data,Encoder<T> evidence$5)
創(chuàng)建DataSet從給定類型的RDD。這個方法需要encoder (將T類型的JVM對象轉(zhuǎn)換為內(nèi)部Spark SQL表示形式)。通常自動創(chuàng)建通過SparkSession的implicits 或則可以通過調(diào)用 Encoders上的靜態(tài)方法來顯式創(chuàng)建。

public <T> Dataset<T> createDataset(java.util.List<T> data,Encoder<T> evidence$6)
創(chuàng)建 Dataset,對于T類型的java.util.List。這個方法需要encoder (將T類型的JVM對象轉(zhuǎn)換為內(nèi)部Spark SQL表示形式), 或則可以通過調(diào)用 Encoders上的靜態(tài)方法來顯式創(chuàng)建。


range函數(shù)
public Dataset<Long> range(long end)使用名為id的單個LongType列創(chuàng)建一個Dataset,包含元素的范圍從0到結(jié)束(不包括),步長值為1。

public Dataset<Long> range(long start,long end)
使用名為id的單個LongType列創(chuàng)建一個Dataset,包含元素的范圍從start到結(jié)束(不包括),步長值為1。

public Dataset<Long> range(long start, long end, long step)
使用名為id的單個LongType列創(chuàng)建一個Dataset,包含元素的范圍從start到結(jié)束(不包括),步長值為step。


public Dataset<Long> range(long start,long end,long step,int numPartitions)
使用名為id的單個LongType列創(chuàng)建一個Dataset,包含元素的范圍從start到結(jié)束(不包括),步長值為step,指定partition 的數(shù)目


catalog函數(shù)
public Catalog catalog()
用戶可以通過它 create, drop, alter 或則query 底層數(shù)據(jù)庫, 表, 函數(shù)等.

table函數(shù)
public Dataset<Row> table(String tableName)返回指定的table/view作為DataFrame
tableName是可以合格或則不合格的名稱。如果在數(shù)據(jù)庫中指定,它在數(shù)據(jù)庫中會識別。否則它會嘗試找到一個臨時view ,匹配到當(dāng)前數(shù)據(jù)庫的table/view,全局的臨時的數(shù)據(jù)庫view也是有效的。


sql函數(shù)
public Dataset<Row> sql(String sqlText)
使用spark執(zhí)行sql查詢,作為DataFrame返回結(jié)果。用來sql parsing,可以用spark.sql.dialect來配置

read函數(shù)
public DataFrameReader read()
返回一個DataFrameReader,可以用來讀取非流數(shù)據(jù)作為一個DataFrame


readStream函數(shù)
public DataStreamReader readStream()
返回一個DataFrameReader,可以用來讀取流數(shù)據(jù)作為一個DataFrame


time函數(shù)
public <T> T time(scala.Function0<T> f)
執(zhí)行一些代碼塊并打印輸出執(zhí)行該塊所花費(fèi)的時間。 這僅在Scala中可用,主要用于交互式測試和調(diào)試。
這個函數(shù)還是比較有用的,很多地方都能用到

implicits函數(shù)
public SparkSession.implicits$ implicits()
嵌套Scala對象訪問

stop函數(shù)
public void stop()
停止SparkContext

close函數(shù)
public void close()
與stop類似

轉(zhuǎn)載于:https://www.cnblogs.com/zzhangyuhang/p/9054880.html

與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的【spark】SparkSession的API的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。