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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【spark】SparkSession的API

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


SparkSession是一個比較重要的類,它的功能的實現,肯定包含比較多的函數,這里介紹下它包含哪些函數。

builder函數
public static SparkSession.Builder builder()
創建 SparkSession.Builder,初始化SparkSession.

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

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

setDefaultSession函數
public static void setDefaultSession(SparkSession session)
設置默認的SparkSession,返回builder

clearDefaultSession函數
public static void clearDefaultSession()
清除默認的SparkSession返回的builder

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

getDefaultSession函數

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

sparkContext函數
public SparkContext sparkContext()

version函數
public String version()
返回運行應用程序的spark版本

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

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


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

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

listenerManager函數
public ExecutionListenerManager listenerManager()
用于注冊自定義QueryExecutionListeners的接口,用于偵聽執行指標。

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

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

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

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

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

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

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

public Dataset<Row> createDataFrame(RDD<Row> rowRDD, StructType schema)
從RDD包含的行給定的schema,創建DataFrame。需要確保每行的RDD結構匹配提供的schema,否則將會運行異常。


public Dataset<Row> createDataFrame(JavaRDD<Row> rowRDD,StructType schema)
創建DataFrame從包含schema的行的RDD。確保RDD提供的每行結構匹配提供的schema,否則運行異常
public Dataset<Row> createDataFrame(java.util.List<Row> rows,StructType schema)

創建DataFrame從包含行的schema的java.util.List?

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

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

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

baseRelationToDataFrame函數
public Dataset<Row> baseRelationToDataFrame(BaseRelation baseRelation)
轉換創建的BaseRelation,為外部數據源到DataFrame


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

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

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


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

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

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


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


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

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


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

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


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


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

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

stop函數
public void stop()
停止SparkContext

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

轉載于:https://www.cnblogs.com/zzhangyuhang/p/9054880.html

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

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。