Skip to content

Commit cdcfe07

Browse files
author
sboesch
committed
Allow setting sparkcontext and sparkmaster externally
1 parent 3bbce88 commit cdcfe07

File tree

1 file changed

+9
-10
lines changed

1 file changed

+9
-10
lines changed

src/main/scala/org/apache/spark/mllib/topicModeling/OnlineHDPExample.scala

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,13 @@
1717

1818
package org.apache.spark.mllib.topicModeling
1919

20-
import java.text.BreakIterator
21-
2220
import org.apache.log4j.{Level, Logger}
2321
import org.apache.spark.mllib.linalg.{SparseVector, Vector, Vectors}
2422
import org.apache.spark.rdd.RDD
2523
import org.apache.spark.{SparkConf, SparkContext}
2624
import scopt.OptionParser
2725

2826
import scala.collection.mutable
29-
import scala.reflect.runtime.universe._
3027

3128

3229
/**
@@ -65,11 +62,11 @@ object OnlineHDPExample {
6562
parseAndRun(args)
6663
}
6764

68-
def parseAndRun(args: Array[String]) = {
65+
def parseAndRun(args: Array[String], inSc: Option[SparkContext] = None): Seq[LDAMetrics] = {
6966

7067
val parser = getParser(args)
7168
val results = parser.parse(args, OnlineHDPParams()).map { params=>
72-
run(params)
69+
run(params, inSc)
7370
}.getOrElse {
7471
parser.showUsageAsError
7572
sys.exit(1)
@@ -83,7 +80,7 @@ object OnlineHDPExample {
8380
val parser = new OptionParser[OnlineHDPParams]("LDAExample") {
8481
head("LDAExample: an example LDA app for plain text data.")
8582
opt[String]("master")
86-
.text(s"spark master. default: ${defaultParams.master}")
83+
.text(s"spark master ('reuse' if master already started'). default: ${defaultParams.master}")
8784
.action((x, c) => c.copy(master = x))
8885
opt[Int]("k")
8986
.text(s"number of topics. default: ${defaultParams.k}")
@@ -127,11 +124,13 @@ object OnlineHDPExample {
127124
parser
128125
}
129126

130-
def run(params: OnlineHDPParams) {
127+
def run(params: OnlineHDPParams, inSc: Option[SparkContext] = None) = {
131128

132-
val conf = new SparkConf().setAppName(s"LDAExample with $params")
133-
.setMaster(params.master)
134-
val sc = new SparkContext(conf)
129+
val sc = inSc.getOrElse {
130+
val conf = new SparkConf().setAppName(s"LDAExample with $params")
131+
.setMaster(params.master)
132+
new SparkContext(conf)
133+
}
135134

136135
val logLevel = Level.toLevel(params.logLevel, Level.INFO)
137136
Logger.getRootLogger.setLevel(logLevel)

0 commit comments

Comments
 (0)