SparkConf2
package com.soul.bigdata.scala.scala02
import java.util.concurrent.ConcurrentHashMap
class SparkConf2 {
private[this] var master: String = _
private[this] var appName: String = _
private var setting = new ConcurrentHashMap[String, String]()
def setMaster(master: String): SparkConf2 = {
// this.master = master
//
// this
//写了set方法 上面的写法就不适用了,不然取不到值
set("spark.master", master)
}
def setAppName(name: String): SparkConf2 = {
// this.appName = name
//
// this
set("spark.app.name", name)
}
private[this] def set(key: String, value: String): SparkConf2 = {
setting.put(key, value)
this
}
def printInfo(): Unit = {
// println(this.master + " : " + this.appName)
val master = setting.get("spark.master")
val appName = setting.get("spark.app.name")
println(master + " : " + appName)
}
}
测试SparkConf2App
package com.soul.bigdata.scala.scala02
object SparkConf2App {
def main(args: Array[String]): Unit = {
val conf2 = new SparkConf2
conf2.setAppName("Customizer SparkConf2").setMaster("local[2]")
conf2.printInfo()
}
}


网友评论