累加器(Accumulator)是一种只能通过关联操作进行“加”操作的变量,因此具有高效的并行计算能力。
1.首先,通过accumulator(v)方法创建Accumulator并初始化为0
val accum = sc.accumulator(0)2.然后,通过运算符+= 进行累加操作x => accum+=x
3.通过value方法读取累加器的值accum.value3.完整代码及结果
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函数将单词切分开,然后输出到指定的目录中,可以查看输出后的结果。
实现代码链接如下:spark中用scala编写累加器小程序统计文章中空白行
http://download.csdn.net/detail/rivercode/9771759
新闻热点
疑难解答