Apache spark Spark-SparkSession是否应该只有一个?

Apache spark Spark-SparkSession是否应该只有一个?,apache-spark,Apache Spark,在一些示例代码中,SparkSession实例是单例的。 这是否意味着只有一个SparkSession实例? 如果有多个SparkSession,会发生什么情况?它们的ParkSessions能否相互交互?每个JVM只能有一个SparkSession和SparkContext实例。您将无法创建多个会话实例。每个JVM只能有一个SparkSession和SparkContext实例。您将无法创建多个会话实例。SparkSession对象是单实例,因此每个客户端只有一个实例 您可以通过打开Spark

在一些示例代码中,SparkSession实例是单例的。 这是否意味着只有一个SparkSession实例?
如果有多个SparkSession,会发生什么情况?它们的ParkSessions能否相互交互?

每个JVM只能有一个SparkSession和SparkContext实例。您将无法创建多个会话实例。

每个JVM只能有一个SparkSession和SparkContext实例。您将无法创建多个会话实例。

SparkSession对象是单实例,因此每个客户端只有一个实例

您可以通过打开SparkShell轻松验证这一点:

scala>spark.toString

res7:字符串= org.apache.spark.sql。SparkSession@d76a6bd

导入org.apache.spark.sql.SparkSession

scala>:粘贴//输入 粘贴模式ctrl-D以完成

val spark=SparkSession.builder .appNameSparkSessionZipsExample.getOrCreate

//正在退出粘贴模式,现在正在解释

17/02/06 07:25:48警告SparkSession$Builder:使用现有的 SparkSession,某些配置可能不会生效。火花: org.apache.spark.sql.SparkSession= org.apache.spark.sql。SparkSession@d76a6bd

scala>:粘贴//进入粘贴模式ctrl-D以完成

val spark=SparkSession.builder .appNameSparkSessionZipsExample.getOrCreate

//正在退出粘贴模式,现在正在解释

17/02/06 07:25:40警告SparkSession$Builder:使用现有的 SparkSession,某些配置可能不会生效。火花: org.apache.spark.sql.SparkSession= org.apache.spark.sql。SparkSession@d76a6bd


正如您所看到的,在所有三种情况下,我们都返回相同的对象@d76a6bd

SparkSession对象是一个单例对象,因此每个客户端只有一个

您可以通过打开SparkShell轻松验证这一点:

scala>spark.toString

res7:字符串= org.apache.spark.sql。SparkSession@d76a6bd

导入org.apache.spark.sql.SparkSession

scala>:粘贴//输入 粘贴模式ctrl-D以完成

val spark=SparkSession.builder .appNameSparkSessionZipsExample.getOrCreate

//正在退出粘贴模式,现在正在解释

17/02/06 07:25:48警告SparkSession$Builder:使用现有的 SparkSession,某些配置可能不会生效。火花: org.apache.spark.sql.SparkSession= org.apache.spark.sql。SparkSession@d76a6bd

scala>:粘贴//进入粘贴模式ctrl-D以完成

val spark=SparkSession.builder .appNameSparkSessionZipsExample.getOrCreate

//正在退出粘贴模式,现在正在解释

17/02/06 07:25:40警告SparkSession$Builder:使用现有的 SparkSession,某些配置可能不会生效。火花: org.apache.spark.sql.SparkSession= org.apache.spark.sql。SparkSession@d76a6bd

正如您所看到的,在所有三种情况下,我们都返回了相同的对象@d76a6bd