PC9*_*527 12 scala apache-spark
我在main()函数中创建了一个会话,如下所示:
val sparkSession = SparkSession.builder.master("local[*]").appName("Simple Application").getOrCreate()
Run Code Online (Sandbox Code Playgroud)
现在,如果我想配置应用程序或访问属性,我可以sparkSession在同一个函数中使用局部变量.
如果我想访问此sparkSession在同一项目中的其他地方一样project/module/.../.../xxx.scala.我该怎么办?
Tza*_*har 19
创建会话后(任何地方),您可以安全地使用:
SparkSession.builder().getOrCreate()
Run Code Online (Sandbox Code Playgroud)
只要会话仍然存在,就可以在代码中的任何位置获得(相同)会话.Spark维护一个活动会话,因此除非它被停止或崩溃,否则你将得到相同的会话.
小智 5
从2.2.0开始,您可以通过以下方式访问活动的 SparkSession:
/**
* Returns the active SparkSession for the current thread, returned by the builder.
*
* @since 2.2.0
*/
def getActiveSession: Option[SparkSession] = Option(activeThreadSession.get)
Run Code Online (Sandbox Code Playgroud)
或默认 SparkSession:
/**
* Returns the default SparkSession that is returned by the builder.
*
* @since 2.2.0
*/
def getDefaultSparkSession: Option[SparkSession] = Option(defaultSession.get)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8274 次 |
| 最近记录: |