/// <summary> /// This function may be used to get or instantiate a SparkContext and register it as a /// singleton object. Because we can only have one active SparkContext per JVM, /// this is useful when applications may wish to share a SparkContext. /// Note: This function cannot be used to create multiple SparkContext instances /// even if multiple contexts are allowed. /// </summary> /// <param name="conf"></param> /// <returns></returns> public static SparkContext GetOrCreate(SparkConf conf) { if (_activeSparkContext == null) { _activeSparkContext = new SparkContext(conf); } return(_activeSparkContext); }
private SparkContext(string master, string appName, string sparkHome, SparkConf conf) { SparkConf = conf ?? new SparkConf(); if (master != null) { SparkConf.SetMaster(master); } if (appName != null) { SparkConf.SetAppName(appName); } if (sparkHome != null) { SparkConf.SetSparkHome(sparkHome); } SparkContextProxy = SparkCLREnvironment.SparkCLRProxy.CreateSparkContext(SparkConf.SparkConfProxy); _activeSparkContext = this; }
/// <summary> /// when created from checkpoint /// </summary> /// <param name="sparkContextProxy"></param> /// <param name="conf"></param> internal SparkContext(ISparkContextProxy sparkContextProxy, SparkConf conf) { SparkContextProxy = sparkContextProxy; SparkConf = conf; _activeSparkContext = this; }