[英]How to implement a real Singleton in Scala
我混合了Java / Scala項目。 有一些用Java實現並使用某些Scala類的Quartz作業。 這些類應使用相同的SparkContext實例,因此我實現了一些單例形式,如下所示:
object SparkContextLoader {
var hasSC = false
var sc:Any = 0
def getSC(workers):SparkContext={
if (!hasSC) {
val sparkConf = new SparkConf().setMaster("local[" + workers + "]").setAppName("SparkApp")
sc = new SparkContext(sparkConf)
hasSC = true
}
return sc.asInstanceOf[SparkContext]
}
從兩個不同的作業調用SparkContextLoader始終會創建一個不允許的新SparkContext實例。
為什么Scala對象的行為不像單例?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.