1.共享变量
1.1累加器
对信息进行聚合,常见用途是在调试时对作业执行过程中的时间进行计数
使用过程
- 通过在驱动器中调用 SparkContext.accumulator(initialValue) 方法,创建出存有初
始值的累加器。返回值为 org.apache.spark.Accumulator[T] 对象,其中 T 是初始值
initialValue 的类型。 - park闭包里的执行器代码可以使用累加器的 += 方法(在Java中是 add )增加累加器的值。
- 驱动器程序可以调用累加器的 value 属性(在 Java 中使用 value() 或 setValue() )来访
问累加器的值。
- [x] 注意,工作节点上的任务不能访问累加器的值
val sc = new SparkContext(...)
val file = sc.textFile("file.txt")
val blankLines = sc.accumulator(0) // 创建Accumulator[Int]并初始化为0
val callSigns = file.flatMap(