Spark的广播变量有区别于累加器,它主要的作用是用来将一个Driver端的一个具体值,共享给所有Executor的,调用也用对应的方法取值就可以了
package com.sparkcore
import org.apache.spark.{SparkConf, SparkContext}
object BroadCastTest {
def main(args: Array[String]): Unit = {
val conf = new SparkConf()
conf.setMaster("local").setAppName("brocast")
val sc = new SparkContext(conf)
//理论上只要能被系列化的都可以
//val list = List("hello hadoop")
//val broadCast = sc.broadcast(list)
val broadCast = sc.broadcast("88")
val lineRDD = sc.textFile("words.txt")
lineRDD.map(line=>line+broadCast.value).foreach(println(_))
sc.stop()
}
}