1.累加器介绍
累加器(Accumulator)是一种只能通过关联操作进行“加”操作的变量,因此具有高效的并行计算能力。
2.简单累加器创建步骤
1.首先,通过accumulator(v)方法创建Accumulator并初始化为0
[plain] view plain copy
- val accum = sc.accumulator(0)
2.然后,通过运算符+= 进行累加操作
x => accum+=x
3.通过value方法读取累加器的值
[plain] view plain copy
- accum.value
3.完整代码及结果
[plain] view plain copy
- val accum = sc.accumulator(0)
- sc.parallelize(Array(1,2,3,4)).foreach(x => accum+=x)
- println(accum.value) // 10
4.累加器小案例--统计文章中空白行个数
复制下载的Spark源码中的README.md中的几行,如下图所示:
在累加空行的时候,我们通过split函数将单词切分开,然后输出到指定的目录中,可以查看输出后的结果。
登录 | 立即注册