2017-02-06 26 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

相关问题