美文网首页
用Scala完成SparkConf的链式

用Scala完成SparkConf的链式

作者: 喵星人ZC | 来源:发表于2019-05-03 18:50 被阅读0次

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()

  }

}

image.png 图解RDD.png

相关文章

网友评论

      本文标题:用Scala完成SparkConf的链式

      本文链接:https://www.haomeiwen.com/subject/pxuznqtx.html