知识点
1.广播变量会在每个worker
上保留一份副本,而不是为每个task
保留一份副本。
2.创建广播变量:通过调用SparkContext.broadcast(v)
将普通变量v
转为广播变量。
3.广播变量是不可变的,因此只有读取没有写入,同时,用来创建该广播变量的普通变量也不能再进行修改。
编程要求
使用变量array
创建一个广播变量,然后读取该广播变量的值并打印。
import org.apache.spark.{SparkConf, SparkContext}
object StudentTaskOfBroadCastVariable {
def main(args: Array[String]) {
val conf = new SparkConf().setAppName("Task").setMaster("local[2]")
//Spark中的上下文
val sc = new SparkContext(conf)
val array = 1
//创建广播变量并打印广播变量
/********* Begin *********/
val broadcastVar = sc.broadcast(Array(1, 2, 3)).value
print(broadcastVar)
sc.stop()
/********* End *********/
}
}