第一种:不可变类型
package com.scala
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
/**
* scala实现广播变量(第一种:不可变类型)
* 增加后的结果:2
增加后的结果:4
增加后的结果:6
增加后的结果:8
增加后的结果:10
*/
object BroadCastValue {
def main(args:Array[String]):Unit={
val conf=new SparkConf().setAppName("BroadCastValue1").setMaster("local[1]")
//获取contex
val sc=new SparkContext(conf)
//创建广播变量
val broads=sc.broadcast(3)//变量可以是任意类型
//创建一个测试的List
val lists=List(1,2,3,4,5)
//转换为rdd(并行化)
val listRDD=sc.parallelize(lists)
//map操作数据
val results=listRDD.map(x=>x*broads.value)
//遍历结果
results.foreach(x => println("增加后的结果:"+x))
sc.stop
}
}
第二种:累加器
package com.scala
i