2017-02-06 49 views
1

在一些示例代碼中,SparkSession實例被設置爲singleton。 這是否意味着應該只有一個SparkSession實例? 如果有多個SparkSession會發生什麼?他們可以(SparkSessions)互相交流嗎?Spark - SparkSession應該只有一個嗎?

回答

2

每個JVM只能有一個SparkSession(和SparkContext)實例。您將無法創建多個會話實例。

+0

謝謝,它幫助我:) –

1

SparkSession對象是一個Singleton,因此每個客戶端只有一個。

你可以自己打開一個SparkShell容易驗證這一點:

斯卡拉> spark.toString

res7:字符串= [email protected]

import org.apache.spark.sql.SparkSession

scala>:paste //輸入 粘貼模式(ctrl-D完成)

VAL火花= SparkSession .builder()
.appName( 「SparkSessionZipsExample」).getOrCreate()

//退出粘貼模式,現在解釋。

17/02/06 07:25:48警告SparkSession $ Builder:使用現有的 SparkSession,某些配置可能無法生效。火花: org.apache.spark.sql.SparkSession = [email protected]

階>:糊//進入粘貼模式(CTRL-d來完成)

VAL spark = SparkSession .builder()
.appName(「SparkSessionZipsExample」).getOrCreate()

//退出粘貼模式,現在解釋。

17/02/06 07:25:40警告SparkSession $ Builder:使用現有的 SparkSession,某些配置可能不會生效。火花: org.apache.spark.sql.SparkSession = [email protected]

正如你可以在這三種情況下,我們又回到了同一個對象@ d76a6bd

相關問題