spark-instrumented-optimizer/core/src/main/scala/spark/SparkEnv.scala

39 lines
1.2 KiB
Scala
Raw Normal View History

package spark
class SparkEnv (
val cache: Cache,
val serializer: Serializer,
val cacheTracker: CacheTracker,
2011-07-09 17:25:56 -04:00
val mapOutputTracker: MapOutputTracker,
val shuffleFetcher: ShuffleFetcher
)
object SparkEnv {
private val env = new ThreadLocal[SparkEnv]
def set(e: SparkEnv) {
env.set(e)
}
def get: SparkEnv = {
env.get()
}
def createFromSystemProperties(isMaster: Boolean): SparkEnv = {
2011-05-22 01:50:08 -04:00
val cacheClass = System.getProperty("spark.cache.class", "spark.SoftReferenceCache")
val cache = Class.forName(cacheClass).newInstance().asInstanceOf[Cache]
2011-07-09 17:25:56 -04:00
val serializerClass = System.getProperty("spark.serializer", "spark.JavaSerializer")
val serializer = Class.forName(serializerClass).newInstance().asInstanceOf[Serializer]
val cacheTracker = new CacheTracker(isMaster, cache)
val mapOutputTracker = new MapOutputTracker(isMaster)
2011-07-09 17:25:56 -04:00
val shuffleFetcherClass = System.getProperty("spark.shuffle.fetcher", "spark.SimpleShuffleFetcher")
val shuffleFetcher = Class.forName(shuffleFetcherClass).newInstance().asInstanceOf[ShuffleFetcher]
new SparkEnv(cache, serializer, cacheTracker, mapOutputTracker, shuffleFetcher)
}
}