Spark设置setMaster=local,不提交集群,在本地启用多线程模拟运行
object SparkUtil {
private val logger = Logger.getLogger(getClass.getName, true)
def getSparkContext(appName:String, local:Boolean=false, threadNum:Int=4):SparkContext = {
val conf = new SparkConf().setAppName(appName)
if(local)
conf.setMaster(s"""local[$threadNum]""")
val sc = new SparkContext(conf)
return sc
}
}
SparkUtil.getSparkContext("testApp",true) // 本地启4个线程模拟运行
本地模式运行可以测试主要的程序逻辑,并不能一定在集群中正确运行.